1

Я использую Mountain Lion на Mac. Я хочу удалить все файлы в каталоге, которые НЕ заканчиваются на .psd, .jpg или .nef, используя Terminal. Как бы я это сделал? Заранее спасибо!

1 ответ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 . Здесь ! отрицает выражение в скобках.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .