Terminal: Excluindo tudo, exceto para .nef ou .jpgs

1

Estou usando o Mountain Lion em um Mac. Eu quero excluir todos os arquivos em um diretório que não terminam com .psd, .jpg ou .nef usando o Terminal. Como eu faria isso? Obrigado antecipadamente!

    
por BalinKingOfMoria 05.09.2013 / 02:42

1 resposta

2

Se você usar o Bash, poderá usar funções de globbing estendido:

shopt -s extglob

Em seguida, para excluir tudo, exceto .nef , .jpg ou .psd files:

rm !(*.nef|*.jpg|*.psd)

Você pode testá-lo usando ls em vez de rm . Aqui, o ! inverte a correspondência. Observe que isso também corresponde aos diretórios, mas eles não podem ser removidos sem passar a opção -r para rm .

Outra maneira com find :

find . -maxdepth 1 -type f \
! \( -name '*.nef' -or -name '*.psd' -or -name '*.jpg' \) -delete

Teste esse comando removendo primeiro a opção -delete . Aqui, o ! nega a expressão entre parênteses.

    
por 05.09.2013 / 08:59