我在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