Exclua todos os arquivos que não começam com uma determinada string em uma pasta

Exclua todos os arquivos que não começam com uma determinada string em uma pasta

Como posso excluir todos os arquivos que não começam com “2012” em uma pasta específica?

Isso está no OS X Lion.

Responder1

Use findpara selecionar todos os arquivos ( type f) que não ( !) comecem com 2012 ( "2012*"). Você então rm(remove) eles imediatamente ou deixa o deleteswitch fazer isso por você.

find . -type f ! -name "2012*"

Observe que isso desce recursivamente para subdiretórios. Se você quiser ter certeza de não remover coisas que realmente deseja manter, certifique-se de usar as opções corretas (confira man findmais).

Por exemplo, -maxdepth 1não irá para subdiretórios.

Agora, remova esses arquivos:

find . -type f ! -name "2012*" -delete

informação relacionada