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