Как удалить все файлы с определенным расширением из папки и всех ее подпапок? [дубликат]

Я хочу удалить все файлы .jpg из моей папки «Музыка», чтобы сэкономить место. Папка «Моя музыка» содержит вложенные папки, и я хотел бы знать, есть ли команда для удаления всех файлов .jpg из всех этих папок независимо от их уровня. Спасибо за вашу помощь!

18
задан 16 February 2012 в 22:14

4 ответа

Самый простой способ (если вы используете Ubuntu Desktop):

Перейдите в папку «Музыка» в Nautilus, нажмите Ctrl + F и найдите .jpg.

enter image description here и amp; затем удалите его


Вы также можете изменить местоположение и сделать свой поиск более конкретным.

enter image description here


Обновлено

Будьте более точным после поиска .jpg Нажатие на зеленую кнопку Select File type Picture & amp; затем удалите jpg из поиска только . точка & amp; затем reload, как показано на рисунке ниже

Что он сделает, он будет искать файл изображения, например .jpg .png .gif & amp; все остальные файлы, которые находятся в Picture Format

enter image description here

0
ответ дан 16 February 2012 в 22:14

Быстрое и чистое решение для командной строки было бы

cd <dir>
find . -type f -iname \*.jpg -delete
  • . приказывать начать поиск в текущей папке.
  • -type f говорит найти только для поиска файлов.
  • -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 одновременно.

0
ответ дан 16 February 2012 в 22:14

Это следует сделать

sudo rm -rf -d ~/Music/*.JPG

, чтобы удалить все файлы .JPG в папке «Музыка».

0
ответ дан 16 February 2012 в 22:14

Здесь shopt -s globstar Bash может быть полезен для рекурсивного сглаживания:

0
ответ дан 16 February 2012 в 22:14

Другие вопросы по тегам:

Похожие вопросы: