Быстрым и простым решением для командной строки было бы
cd <dir>find . -type f -iname \*.jpg -delete
.
указывает начать поиск в текущей папке.-type f
сообщает find только для поиска файлов.-iname
делает поиск нечувствительным к регистру.-delete
сообщает find удалить /удалить все найденные файлы.
осторожно! Я рекомендую выполнить команду без -delete
сначала, чтобы получить список файлов, которые будут удалены, когда -delete
включен в команду. Таким образом, небольшая опечатка не удалит ничего, чего вы не собирались делать.
Для получения дополнительной информации о том, как использовать find
и что он может сделать, смотрите man find
Обратите внимание, что find
не будет выдавать никаких выходных данных, когда -delete
используется.
Что касается комментария о нескольких расширениях
find . -type f \( -name \*jpg -o -name \*png \) -delete
( .. )
Групповое выражение. Должен быть экранирован из оболочки, следовательно\( .. \)
в примере-o
логический или
Таким образом, приведенный выше пример будет соответствовать любому файлу, который имеет либо jpg
или png
в конце его названия. Таким же образом можно добавить дополнительные расширения. Просто убедитесь, что помните -o
между каждым -name
заявление, если -o
не указано find
по умолчанию будет установлено значение -a
(и), который не будет работать, поскольку файл не может заканчиваться на обоих jpg
и png
в то же время.
Попробуй пройти бота-учителя. Он научит тебя Linux в виде игры: Курсы Linux и DevOPS Бесплатный урок