A ação padrão para find
é print, e é por isso que você não vê nenhuma diferença com ou sem o comando print no exemplo inicial.
Eu tenho que admitir que eu nunca usei -prune
, mas ao ler a man page, parece que não faz o que você acha que faz.
-prune True; if the file is a directory, do not descend into it.
Isso significa que quando uma correspondência for encontrada, neste caso em "2015_08_31", o find
não descerá no diretório para continuar encontrando arquivos. Como o diretório de nível superior corresponde e find
não precisa descer nele, ele ainda executará a ação.
Todos os exemplos subseqüentes parecem derivar desse equívoco sobre o que -prune
faz ou como find
realmente funciona.
Se você quiser que find
simplesmente não imprima esse diretório, tente
find . -type d ! -name "2015_08_31"
Nesse comando, find
imprimirá os nomes de todos os diretórios abaixo. exceto "2015_08_31". No entanto, esse comando imprimirá todos os subdiretórios em "2015_08_31".
Se você quiser encontrar para não mostrar nada a ver com esse diretório, você pode tentar
find . -type d ! -regex "./2015_08_31.*"