Cenário:
$ tree .
.
├── x1.txt
├── x2.txt
└── x3.txt
0 directories, 3 files
$ find . -name "x1.txt" -prune -o -name "*.txt"
./x1.txt
./x2.txt
./x3.txt
$ find . -name "x1.txt" -prune -o -name "*.txt" -print0
./x2.txt./x3.txt
Aqui vemos que isso -print0
afeta os resultados da pesquisa. Confuso.
Por que a presença de -print0
causa find ...
não é impressa x1.txt
?
Por que a ausência de -print0
causa find ...
para imprimir x1.txt
?
find
A ação padrão de (usada sempre que nenhuma ação diferente de-prune
ou-quit
é especificada) é-print
; emhá um implícito
-print
em todos os casos:ou mais precisamente,
Adicionar
-print0
remove esse padrão, entãosignifica “se o nome corresponder
x1.txt
, poda-o; caso contrário, se corresponder*.txt
, imprima-o, com um terminador nulo”.