Очистка папок, за исключением файлов определенного типа

У меня есть дерево папок, как показано ниже:

parent folder ....folder A ....folder B ....folder 1 ....folder 2 ....folder C ....folder 1 ....folder 2 ....folder D ....folder 1 ....folder 2 . . 

Внутри каждой папки есть куча файлов. Эти файлы имеют разные расширения (zip, tar.gz, jpeg, bmp, csv, xlsx, doc, txt, … и т. Д.).

  1. Как удалить все файлы в папках, кроме файлов * .jpeg.

  2. Как удалить все файлы в папках, кроме нескольких типов файлов (например, кроме файлов * .jpeg, * .csv)

Чтобы достичь этого, я думал об использовании команды:

 find . type -f -exec 

Но я не знаю, как это сделать! ..

Любые другие способы сделать это?

One Solution collect form web for “Очистка папок, за исключением файлов определенного типа”

 find . type -f ! -name '*.jpeg' ! -name '*.csv' -delete 

Прочитайте это как: перемещайте текущий каталог; когда вы находите файл, который является обычным файлом и чье имя не соответствует *.jpeg и имя которого не соответствует *.csv , а затем удалите его.

Если ваша версия find не имеет -delete , make find вызывает команду rm : replacte -delete by -exec rm {} + .

В zsh (с setopt extended_glob ) *~(PATTERN) соответствует всем файлам, которые не соответствуют PATTERN . Используйте glob-классификатор D чтобы включить файлы точек и . для включения только обычных файлов. Изменение . to ^/ удалить все не-каталоги (кроме тех, которые соответствуют исключенным шаблонам).

 rm **/*~*.(jpeg|csv)(D.) 
  • как удалить более крупный файл (например, 180G) в системе unix?
  • Как найти файл, соответствующий трубе, открытому процессом?
  • Разрешение отклонено для записи в журнал mysql
  • Скрипт, чтобы определить, являются ли файлы изображениями
  • Самый быстрый способ прочитать последнюю строку в шаблоне нескольких файлов с тем же расширением
  • Как сохранить только четыре строки в моем файле в сценариях оболочки?
  • FTP-клиенты показывают только 9998 папок в каталоге со многими другими
  • Как перенести завершенные торрент-файлы в другую папку, не нарушая ссылку на торрент?
  • Найти команду, связанную с файлом конфигурации
  • Добавление столбца на основе сопоставления второго столбца
  • Распакуйте все файлы в директории с тем же именем
  • Linux и Unix - лучшая ОС в мире.