使用bash过滤不包含任何音频文件的文件夹



给定一个根文件夹,如何筛选不包含任何音频文件(mp3、wav和flac(的子文件夹?我需要设置像这样的变量吗

folders = find /parentfolder/ -type d

然后在${folders}上传递一些表达式,或者有一个线性函数吗?

.的所有子目录(我们将其写入一个文件(:

find . -type d | sort > all_dirs.txt

所有包含mp3文件的子目录(进入另一个文件(:

find . -name "*.mp3" | xargs dirname | sort | uniq > music_dirs.txt

这是只包含在第一个文件中而不包含在第二个文件中的行:

diff --new-line-format="" --unchanged-line-format=""  all_dirs.txt music_dirs.txt

如果你认为oneliners很酷,并且你正在bash中工作,那么这里有点浓缩:

diff --new-line-format="" --unchanged-line-format=""  <(find . -type d | sort) <(find . -name "*.mp3" | xargs dirname | sort | uniq)

最新更新