[已解决]求脚本:复制a文件夹文件到b文件夹(根据mime-type复制指定类型文件)
发表于 : 2009-11-07 21:04
A目录:Firefox缓存,如/tmp/firefox/cache
B目录:音乐文件夹,如/home/tux/Music/downloads
firefox缓存中的mp3没有后缀名,只能根据MP3 audio (audio/mpeg)的mime-type确定.mp3文件都多个.脚本最好能30秒循环运行,定期提取mp3存盘.
rsync好像没有根据mime-type同步指定文件的功能,希望能用一个shell脚本完成,最好不要用到python.
======================================已解决的分割线=========================
代码(感谢aerofox提供代码):
注:
/dev/shm/firefoxcache/Cache/为我的Firefox缓存目录
/home/xinzhi/音乐/tmp/为文件暂存文件夹。
mp3重命名代码来自xiooli, 有修改, 也表示感谢!
使用方法:
1)保存代码为脚本,直接运行。
2)终端下运行,加入参数 -rename可对文件进行重命名和编码操作,需要python-mutagen支持。
3)加入conky里面可循环运行,自动保存网络视听歌曲。
相关文章:
Linux shell自动从浏览器缓存提取mp3(FLV)文件存盘 #Firefox #Linux #mp3 #FLV
B目录:音乐文件夹,如/home/tux/Music/downloads
firefox缓存中的mp3没有后缀名,只能根据MP3 audio (audio/mpeg)的mime-type确定.mp3文件都多个.脚本最好能30秒循环运行,定期提取mp3存盘.
rsync好像没有根据mime-type同步指定文件的功能,希望能用一个shell脚本完成,最好不要用到python.
======================================已解决的分割线=========================
代码(感谢aerofox提供代码):
代码: 全选
#!/bin/sh
#设定文件夹位置
fxCacheDIR="/dev/shm/firefoxcache/Cache/"
MuiscDIR_TMP="/home/xinzhi/音乐/thesixtyone/tmp/"
#提取缓存文件存盘
for f in $fxCacheDIR*; do
[ `file -b --mime-type "$f"` = audio/mpeg ] && cp -u "$f" $MuiscDIR_TMP
done
#重命名文件(可选操作)
rename() {
cd $MuiscDIR_TMP
ls |while read name;do
ti=`mid3v2 -l $name |grep TIT2 |sed 's/^.*=//'`
tl="mp3"
[ "$ti" ] && mid3iconv -e gb2312 "$name"
[ "$ti" ] || continue
[ "$name" != "$ti.$tl" ] && mv "$name" "$ti.$tl" &&\
echo "重命名\033[;32m <$name> \033[0m为\033[;32m <$ti.$tl> \033[0m"
done
}
#执行重命名操作,如果需要
if [ "$1" = "-rename" ];then
echo "即将重命名当前文件夹的所有音乐" && rename
fi
/dev/shm/firefoxcache/Cache/为我的Firefox缓存目录
/home/xinzhi/音乐/tmp/为文件暂存文件夹。
mp3重命名代码来自xiooli, 有修改, 也表示感谢!
使用方法:
1)保存代码为脚本,直接运行。
2)终端下运行,加入参数 -rename可对文件进行重命名和编码操作,需要python-mutagen支持。
3)加入conky里面可循环运行,自动保存网络视听歌曲。
相关文章:
Linux shell自动从浏览器缓存提取mp3(FLV)文件存盘 #Firefox #Linux #mp3 #FLV