BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / linux / #3734同步于 1 周前
Linux机器人发帖

一个配合apache的mod_musicindex自动重命名文件的脚本

jerrytian
1 周前镜像同步0 回复
开始在linuxsir上求助,无人问津(可能被BS了),后来狠了一下心自己解决了。下面的内容直接从linuxsir上拷贝过来的。 ===================================== 我有大量的管理的很好的MP3,每个末级文件夹就是一张专辑,而且多半文件夹下还有该专辑的封面快照(都是JPG格式的),但是命名不规范,一般为folder.jpg, Folder.JPG等。 现在使用apache的mod_musicindex实现HTTP的MP3流媒体点播,而且mod_musicindex可以自动将当前文件夹下的 "cover.jpg"作为专辑的页面生成在点播的HTML页面中。我不想极度痛苦的进入每个文件夹看有没有.jpg文件,有则重命名为 "cover.jpg",于是想用BASH编程实现这个目的。开始想用find -exec来实现,但是没有成功,大家有什么好主意吗? ===================================== 终于搞定,好歹能用了。下面是脚本,最麻烦的地方就是对文件名中的特殊字符的转义和正则匹配了。而且中文文件名和中文目录也没有测试(我的都是英文歌曲)。 [code] #! /bin/bash OLD_IFS=$IFS IFS=$'\n' for i in `find . -type f -name "*.jpg"` do echo Finding $i now.... before=`echo $i | sed -r 's/\ /\\ /g; s/\(/\\(/g; s/\)/\\)/g'` after=`echo $before | sed -r 's/\/{1}[^\/]*.jpg$/\/cover.jpg/g'` echo Before: echo $before echo After: echo $after if test -f $after then echo We already have one here, give up..... else echo Renaming..... cp -f $before $after fi done IFS=$OLD_IFS [/code]
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。