Я использую Mountain Lion на Mac. Я хочу удалить все файлы в каталоге, которые НЕ заканчиваются на .psd, .jpg или .nef, используя Terminal. Как бы я это сделал? Заранее спасибо!
1 ответ
2
Если вы используете Bash, вы можете использовать расширенные функции globbing:
shopt -s extglob
Затем, чтобы удалить все, кроме .nef
, .jpg
или .psd
:
rm !(*.nef|*.jpg|*.psd)
Вы можете проверить это, используя ls
вместо rm
. Здесь !
переворачивает спичку Обратите внимание, что это также соответствует каталогам, но их нельзя удалить, не передав опцию -r
в rm
.
Еще один способ find
:
find . -maxdepth 1 -type f \
! \( -name '*.nef' -or -name '*.psd' -or -name '*.jpg' \) -delete
Проверьте эту команду, сначала удалив опцию -delete
. Здесь !
отрицает выражение в скобках.