Как найти файлы не определенного типа?

Я пытаюсь найти все файлы разных типов в моей неорганизованной папке с музыкой. Я пробовал эту команду (чтобы перечислять файлы типов, кроме тех, которые я знаю, есть):

find zUnorganized/ -not -iname "*.mp3" -and -not -iname "*.flac" -and -not -iname "*.MP3" -and -not -iname "*.wav" -or -not -iname "*.m4a" -and -not -iname "*.jpg" 

Но это не работает. Как мне получить эту командную работу? Есть ли способ сделать это с помощью -regex?

Благодаря!

  • Полнотекстовая индексация командной строки?
  • Поиск во многих файлах
  • Как я могу запустить определенную команду для каждого результата поиска?
  • Как искать текстовый файл для определенного целого
  • В чем разница между поиском. и найти . -Распечатать
  • Как искать файлы по размеру и расширению?
  • Получить список подкаталогов, содержащих файл, соответствующий строке
  • Как найти файл в каталоге
  • One Solution collect form web for “Как найти файлы не определенного типа?”

    Вы написали (для ясности добавлены лишние скобки):

     find zUnorganized/ \( -not -iname "*.mp3" -and -not -iname "*.flac" -and -not -iname "*.MP3" -and -not -iname "*.wav" \) \ -or \( -not -iname "*.m4a" -and -not -iname "*.jpg" \) 

    Используйте либо -and -not повсюду, или используйте or повсюду, и заканчивайте с -print (что означает: ничего не делать для этого, иначе ничего не делать для этого и т. Д., Иначе распечатать). Вы также захотите ограничить поиск обычными файлами, иначе будут перечислены каталоги.

     find zUnorganized/ -type f -not -iname "*.mp3" -and -not -iname "*.flac" -and -not -iname "*.MP3" -and -not -iname "*.wav" -and -not -iname "*.m4a" -and -not -iname "*.jpg" find zUnorganized/ \! -type f -o \ -iname "*.mp3" -o -iname "*.flac" -o -iname "*.MP3" -o -iname "*.wav" -o -iname "*.m4a" -o -iname "*.jpg" -o \ -print 
    Linux и Unix - лучшая ОС в мире.