Um erro lógico. O que você está dizendo find
é:
find, in this folder, all files that are (PNG and JPG)
Mas, é claro, não há arquivos ambos ao mesmo tempo, e é por isso que o -o
funciona:
find, in this folder, all files that are (PNG or JPG)
Ao construir essas consultas, imagine find
passando cada arquivo para o teste. Em seguida, aplique lógica booleana . Então, por exemplo:
-
Ele encontra um arquivo .txt. Não é um PNG (falso) e não é um JPG (falso), portanto false & & false é igual a falso
-
Encontra um arquivo .png. É um PNG (true) e não um JPG (false), então true & & false é igual a falso
-
Encontra um arquivo .jpg. Não é um PNG (falso) e é um JPG (verdadeiro), então false & & true é igual a falso
-
Se você usar a opção
-o
e encontrar um arquivo .png, será um PNG (true) e não é um JPG (false), então true || false é igual a verdadeiro.