微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 终端 – 删除不包含.mp3文件的所有文件夹

我在Linux上使用Banshee,我让它在文件夹层次结构中自动组织我的音乐集.当我将新相册添加到我的音乐文件夹时,Banshee会自动移动(并重命名)mp3并将它们放入正确的Artist文件夹中.如果文件夹中没有其他文件,则该文件夹也会被删除,但如果存在其他文件,则仅移动mp3并保留文件夹.因此,我的音乐文件夹中有许多文件夹,其中不包含mp3,只包含图像文件或类似的辅助文件.

我如何去除里面没有mp3文件的任何文件夹(在Music文件夹中)?

例如,假设我有以下内容

/home/user/Music/

添加文件夹“Album 1(2010)”,其中包含mp3并且还包括艺术品. Banshee将拉出mp3并将它们放入合适的艺术家文件夹中,说:

/home/user/Music/Artist

但然后文件

/home/user/Music/Album 1 (2010)

还存在.如何检查此文件夹中是否包含mp3,如果没有,请将其删除

我认为答案将是一个命令行,但我对任何建议持开放态度.此外,要求确认可能是件好事……以防万一.

解决方法:

根据ghostdog74的回答:

#! /bin/bash

find -depth -type d | while read -r D
 do
 v=$(find "$D" -iname '*.mp3')
 case "$v" in
 ""  )
    echo "$D no mp3"
    # rm -fr "$D" #uncomment to use
 ;;
 esac
done

我们在目录结构上测试它

.
./deleteme
./save2
./save2/x.MP3
./save-recursive
./save-recursive/nested
./save-recursive/nested/x.mp3
./save
./save/x.mp3

输出是:

./deleteme no mp3

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐