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

1

Eu naveguei para um diretório específico no sistema de arquivos e desejo excluir todos os arquivos dentro do diretório que contêm 'sofa_' no nome do arquivo.

Alguém pode sugerir como isso pode ser feito?

    
por YorkieMagento 14.06.2017 / 15:41

2 respostas

4

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

rm *sofa_*

Se você precisar disso para descer em subdiretórios, use find :

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

Ou, se você estiver usando bash , ative a opção globstar , que faz com que ** correspondam a todos os arquivos e 0 ou mais subdiretórios (tornando-a recursiva):

shopt -s globstar

Então:

rm **/*sofa_*
    
por terdon 14.06.2017 / 15:48
4
find . -name "*sofa_*" -type f | xargs rm

Ou como observado corretamente nos comentários:

find . -name "*sofa_*" -type f -delete
    
por Arkadiusz Drabczyk 14.06.2017 / 15:41