![Exclua todos os arquivos de um diretório que contenha uma palavra específica](https://rvso.com/image/1000931/Exclua%20todos%20os%20arquivos%20de%20um%20diret%C3%B3rio%20que%20contenha%20uma%20palavra%20espec%C3%ADfica.png)
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 globstar
opçã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