-print garantirá que o nome do caminho atual seja impresso na saída padrão. Alguns sinalizadores desativam a impressão padrão de nomes de caminho ( -exec , por exemplo).
-depth causará uma passagem em profundidade da hierarquia de arquivos, para que os nomes de caminhos nos diretórios sem subdiretórios sejam tratados primeiro (de baixo para cima e não de cima para baixo). No seu exemplo, faz pouca diferença ao trabalhar no diretório sem subdiretórios, mas observe que . é reportado após os outros nomes de caminho quando você usa -depth (isso é porque . é o diretório mais importante a ser pesquisado, portanto, seu nome de caminho é tratado por último com -depth e primeiro sem -depth ).
É útil usar -depth se um estiver excluindo diretórios com find , pois você obterá erros ao tentar acessar diretórios já excluídos sem ele.
Como Scott aponta nos comentários abaixo, você definitivamente precisa de -depth quando renomeia diretórios também, ou você potencialmente não seria capaz de percorrer a estrutura de diretórios em ao mesmo tempo que você está renomeando diretórios nele.
O sinalizador -delete ativa -depth por padrão.
Exemplo: Exclua todos os diretórios abaixo do diretório atual cujos nomes correspondam a *deleteme (por exemplo, folder-deleteme ) e imprima os caminhos para os diretórios excluídos com êxito:
find . -depth -type d -name '*deleteme' -exec rm -rf {} ';' -print
Dada a seguinte estrutura de diretório,
$ tree
.
'-- folder-deleteme
'-- another-deleteme
'-- evenmore-deleteme
3 directories, 0 file
executar o comando find acima sem -depth resultaria em
$ find . -type d -name '*deleteme' -exec rm -rf {} ';' -print
./folder-deleteme
find: ./folder-deleteme: No such file or directory
porque find exclui o diretório mais alto folder-deleteme (e imprime seu caminho) e, em seguida, tenta inseri-lo para procurar mais diretórios para excluir.
Além disso:
$ find .
.
./folder-deleteme
./folder-deleteme/another-deleteme
./folder-deleteme/another-deleteme/evenmore-deleteme
$ find . -depth
./folder-deleteme/another-deleteme/evenmore-deleteme
./folder-deleteme/another-deleteme
./folder-deleteme
.