-path
funciona exatamente como -name
, mas aplica o padrão ao nome do caminho inteiro do arquivo que está sendo examinado, em vez de ao último componente.
-prune
proíbe descer abaixo do arquivo encontrado, no caso de ser um diretório.
Colocando tudo junto, o comando
find $HOME -path $HOME/$dir_name -prune -o -name "*$file_suffix" -exec cp {} $HOME/$dir_name/ \;
- Começa a procurar por arquivos em
$HOME
. - Se encontrar um arquivo que corresponda a
$HOME/$dir_name
, ele não ficará abaixo dele ("remove" o subdiretório). - Caso contrário (
-o
), se encontrar um arquivo que corresponda a*$file_suffix
, copie-o para$HOME/$dir_name/
.
A idéia parece ser fazer um backup de parte do conteúdo de $HOME
em um subdiretório de $HOME
. As peças com -prune
são obviamente necessárias para evitar backups de backups ...