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.