grep - 匹配除给定文件类型之外的任何内容

5 linux grep regex

我想清理我的音乐库,这样当 Rhythmbox 跨越一些 WMA-Relic 时,我就不会再收到来自 Rhythmbox 的任何“搜索合适的插件”消息。

我有工具,但现在我想找到这些文件。我可以使用 ls 获取所有音乐文件的列表,然后将其通过管道传输到 grep 并像这样捕获所有 mp3:

ls */* | grep \.mp3$
Run Code Online (Sandbox Code Playgroud)

现在我想过滤掉所有的 MP3,我该怎么做?我把 ^ 和 ~ 和 ! 但我似乎从未到达任何地方。我知道那里有一些 WMA,但是当我有电脑时为什么要手动搜索 xD

任何人都可以帮忙吗?

Mar*_*ton 12

grep -v 将返回所有与您的搜索查询不匹配的行

您还可以使用:

find . ! -name "*.mp3"
Run Code Online (Sandbox Code Playgroud)

在一个命令中完成整个事情。

  • 为了安全起见,我会使用 -iname 而不是 -name 来执行不区分大小写的匹配。您可能有也可能没有一些 .MP3 文件,等等...... (2认同)