【问题标题】:script for auto opening directories (mac os x) and creating m3u playlists用于自动打开目录 (mac os x) 和创建 m3u 播放列表的脚本
【发布时间】:2012-06-30 19:03:03
【问题描述】:

假设您有一些目录包含mp3 文件和子目录,还包含mp3 文件,例如:

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

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

/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 的目录名称。 (这只是一个示例目录结构。)

我希望清楚:)

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

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

应该添加什么让它递归地查看/music的每个子目录,如果有另一个子目录,也看那里?然后,在每个子目录下执行m3u-making脚本?

感谢您的帮助! :)

【问题讨论】:

    标签: macos bash itunes


    【解决方案1】:

    这应该会为您处理所有事情(不需要脚本)。

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

    【讨论】:

    • 嗨丹尼斯,我将您的命令粘贴到终端,但不幸的是它无法正常工作,错误消息是(这么长只是一个开始):bash:${PWD##*/}.m3u:歧义重定向为:文件(您)无法打开源文件进行输入!没有这样的文件或目录。 as:file(Are.mp3) 无法打开源文件进行输入!没有这样的文件或目录。 bash:${PWD##*/}.m3u:不明确的重定向 bash:You.mp3:找不到命令 bash:${PWD##*/}.m3u:不明确的重定向 bash:box.mp3:找不到命令 bash: bloom.mp3:找不到命令 bash:tea.mp3:找不到命令
    • @Ondrej:对不起,我忘记了一些引号。请尝试我修改后的命令。
    • 丹尼斯 - 你只是一个专业的黑客! :) 谢谢,现在可以了!
    • @Ondrej:我很高兴它对你有用。如果您觉得有帮助,请将我的回答标记为已接受。
    • 是否有类似的脚本同时搜索 .m4a 和 .mp3 并为每个“band*”文件夹生成一个列表,该文件夹包含该列表中的所有 sue-dir 文件?例如 ./music 目录应该包括 band1.m3u 和 band2.m3u 等(子目录中没有播放列表)
    猜你喜欢
    • 2014-04-19
    • 2013-07-21
    • 2014-05-28
    • 1970-01-01
    • 2011-08-30
    • 2014-07-05
    • 1970-01-01
    • 2013-06-22
    • 1970-01-01
    相关资源
    最近更新 更多