Mac - remova todos os arquivos com uma determinada extensão de uma árvore de diretórios

Mac - remova todos os arquivos com uma determinada extensão de uma árvore de diretórios

Possível duplicata:
Exclua arquivos recursivamente correspondentes a um nome na linha de comando (OS X)

Quero remover todos os arquivos com extensão .orig da minha árvore. A árvore é profunda. Existe uma maneira fácil de fazer isso?

Provavelmente terei que fazer isso muitas vezes ao dia, com árvores diferentes. Portanto, a facilidade é importante.

Responder1

Utilize a findferramenta:

find /path -name '*.orig' -delete

Observe que o curinga deve ser colocado entre aspas (como "*.orig"ou '*.orig'ou \*.orig), pois você deseja que ele seja tratado apenas por 'find', mas não pelo shell.

Alguns sistemas operacionais podem não ter essa -deleteopção; nesse caso, faça com que ela seja invocada rm:

find /path -name "*.orig" -exec rm -i {} \;

Responder2

Eu prefiro este método (muito semelhante ao @grawity), mas com o tipo fileincluído:

find /path . -name '*.orig' -type f -delete

Responder3

Você pode executar comandos shell no bash? Isso resolveria o problema:

find /path/to/your/tree | egrep .orig$ | xargs rm

informação relacionada