Exclua todos os arquivos de um diretório que contenha uma palavra específica

Exclua todos os arquivos de um diretório que contenha uma palavra específica

Naveguei para um diretório específico no sistema de arquivos e desejo excluir todos os arquivos do diretório que contenham 'sofa_' no nome do arquivo.

Alguém pode sugerir como isso pode ser feito?

Responder1

Se todos os arquivos estiverem no mesmo diretório (sem subdiretórios), basta executar:

rm *sofa_*

Se você precisar que isso desça para subdiretórios, use find:

find . -name "*sofa_*" -type f -delete

Ou, se você estiver usando bash, habilite a globstaropção que faz **corresponder todos os arquivos e 0 ou mais subdiretórios (tornando-o recursivo):

shopt -s globstar

Então:

rm **/*sofa_*

Responder2

find . -name "*sofa_*" -type f | xargs rm

Ou conforme observado corretamente nos comentários:

find . -name "*sofa_*" -type f -delete

informação relacionada