find
A página de manual diz que -print
action tem um valor de true
, então por que esse comando
find /home \( -not -print \)
sempre listar todos os arquivos no diretório?
Responder1
A -print
ação tem um valor verdadeiro, mas apenasdepoisele imprime.
Observe que isso imprime todos os arquivos duas vezes:
$ find . -print -print
.
.
./file1
./file1
./file2
./file2
Apesar de ter duas instruções de impressão, este comando imprime apenas uma vez:
$ find . \( -not -print \) -print
.
./file1
./file2
Aqui, o primeiro -print
é avaliado como verdadeiro e então -not -print
é avaliado como falso. Consequentemente, a segunda impressão não é executada.