Você pode combinar find
, xargs
e rm
:
find . -type f -a -name delme_files -print0 | xargs -0 rm
e
find . -type d -a -name delme_dir -print0 | xargs -0 rmdir
(quando você está no diretório Parent_dir
)
Provavelmente existe uma maneira de combinar os dois find
em apenas um, mas eu acho mais claro assim mesmo.
Os comandos find
encontrarão os diretórios / arquivos nomeados de acordo com o seu exemplo e você canalizará os resultados para xargs
que executará rm
(remover) / rmdir
(diretório de remoção) em cada um dos arquivos encontre "upstream", isto é, o comando file
.
Se os diretórios não estiverem vazios, substitua rmdir
por rm -Rf
, mas isso removerá recursivamente todos os arquivos nos diretórios encontrados pelo comando find
.
A combinação -print0
/ -0
garantirá que todos os arquivos / diretórios serão tratados corretamente, mesmo aqueles que tenham espaços em seus nomes (talvez não sejam necessários aqui, mas melhor usar em casos genéricos).
Certifique-se de testar as coisas antes em dados não importantes e sempre ter backups.