Une erreur de logique. Ce que vous dites find
est :
trouver, dans ce dossier, tous les fichiers qui sont (PNG et JPG)
Mais, bien sûr, il n'y a pas de fichiers qui sont les deux en même temps, c'est pourquoi le -o
travaux :
trouver, dans ce dossier, tous les fichiers qui sont (PNG ou JPG)
Lorsque vous construisez ces requêtes, imaginez simplement find
en passant chaque fichier au test. Ensuite, appliquez logique booléenne . Ainsi, par exemple :
-
Il trouve un fichier .txt. Ce n'est pas un PNG (faux), et pas un JPG (faux), alors false && false équivaut à faux
-
Il s'agit bien d'un fichier .png. Il s'agit d'un PNG (vrai) et non d'un JPG (faux). true && false équivaut à faux
-
Il s'agit bien d'un fichier .jpg. Ce n'est pas un PNG (false), et c'est un JPG (true), donc false && true équivaut à faux
-
Si vous utilisez le -o
et qu'il trouve un fichier .png, alors il s'agit d'un PNG (vrai) et non d'un JPG (faux), donc vrai | | faux est égal à vrai.