grep - сопоставить что угодно, кроме заданного типа файла


5

Я хочу очистить свою музыкальную библиотеку, чтобы больше не получать сообщений о «поиске подходящего плагина» от Rhythmbox, когда он попадает в какую-то WMA-Relic.

У меня есть инструменты, но теперь я хочу найти эти файлы. Я могу получить список всех музыкальных файлов с помощью ls, затем перенаправить их в grep и перехватить все mp3-файлы следующим образом:

ls */* | grep \.mp3$

Теперь я хочу отфильтровать все MP3, как бы я это сделал? Я много возился с ^ и ~ и! но я никогда не получал. Я знаю, что там есть несколько WMA, но зачем мне искать вручную, когда у меня есть компьютер xD

Кто-нибудь может помочь?

linux  grep  regex 

Ответы:


12

grep -v вернет все строки, которые не соответствуют вашему поисковому запросу

Вы также можете использовать:

find . ! -name "*.mp3"

сделать все это в одной команде.


2
Чтобы быть в безопасности, я бы выбрал -iname вместо -name, чтобы выполнить регистронезависимое совпадение. Вы можете иметь или не иметь некоторые файлы .MP3, сидящие без дела, и т.д ...
jonathanserafini

4

Посмотрите на -vпереключатель grep, который инвертирует соответствие.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.