列出包含与正则表达式匹配的文件的目录

jav*_*nix 5 linux unix freebsd regex

我想在我的 FreeBSD 服务器上设置一个简单的过滤系统,允许我创建目录的任意“视图”。

例如,我希望能够列出与模式“*.mp3”匹配的所有目录,但只显示目录名称。

例如,如果我在我的音乐文件夹上运行该命令,我希望能够在一个命令中显示所有包含 mp3 的目录,并将所有包含 flac 文件的目录作为单独的命令显示。

该命令find . -name "*.mp3"几乎可以执行我想要的操作,但它为每个文件显示一个条目。有没有办法将 find 限制为每个目录一个结果?

小智 3

使用这个脚本:

find / -name "*.mp3" | grep -o '.*/' | sort | uniq > mp3files
Run Code Online (Sandbox Code Playgroud)