自动打开目录(mac os x)和创建m3u播放列表的脚本

时间:2012-06-30 19:03:04

标签: macos bash itunes

想象一下,您有一些目录包含mp3个文件和子目录,还包含mp3个文件,如:

/music/band1/
/music/band2/
/music/band2/dir1/
/music/band2/dir2/
/music/band3/dir1/
/music/band3/dir2/
/music/band4/
...

我想在包含.m3u个文件的每个目录中创建一个mp3文件 - 例如:

/music/band1/band1.m3u
/music/band2/band2.m3u
/music/band2/dir1/dir1.m3u
/music/band2/dir2/dir2.m3u
/music/band3/dir1/dir1.m3u
/music/band3/dir2/dir2.m3u
/music/band4/band4.m3u

.m3u文件的名称将是创建.m3u的目录名称。 (这只是一个示例目录结构。)

我希望很清楚:)

到目前为止,我有这个从m3u文件生成*.mp3个文件,但只在实际目录中生成,并按目录命名。

#!/bin/bash\
ls | grep -i mp3 > filelist.txt
mv filelist.txt filelist.m3u
FOLDERNAME=${PWD##*/}
echo $FOLDERNAME
mv filelist.m3u $FOLDERNAME.m3u

应该添加什么来让它以递归方式显示在/music的每个子目录中,如果还有另一个子子目录,还可以看一下?然后,在每个子目录中执行m3u - 制作脚本吗?

感谢您的帮助! :)

1 个答案:

答案 0 :(得分:7)

这应该照顾你的整个事情(不需要脚本)。

find . -name '*.mp3' -execdir bash -c 'file="{}"; printf "%s\n" "${file##*/}" >> "${PWD##*/}.m3u"' \;