非常简单的学习笔记,任务也很简单。
我在网上下载了一个字幕文件合集,字幕格式非常齐全,ass和srt还有中英繁简的单独和混排。
我要做的是遍历整个目录,然后把我需要的中英.srt字幕筛选出来(万幸,字幕文件命名是很规范的,因此不需要检测文件内容,如果检测文件内容的话,那就麻烦了)。
废话不多,上代码~
一些说明:
1. 由于有文件夹嵌套,所以dirs保存的是所有目录的名字,其中-d参数保证只是保存名字;
2. $f中是遍历所有的文件,其中&因为有特殊含义,因此需要转义;(可以参考:http://www.tldp.org/LDP/abs/html/escapingsection.html)
3. 用于判断分析文件名,虽然可以用grep,但是语法麻烦,case很好用;
最后惯例是“持续工作,持续学习,持续优化”,美化一下我的VIM,添加颜色:syntax on
如图
我在网上下载了一个字幕文件合集,字幕格式非常齐全,ass和srt还有中英繁简的单独和混排。
我要做的是遍历整个目录,然后把我需要的中英.srt字幕筛选出来(万幸,字幕文件命名是很规范的,因此不需要检测文件内容,如果检测文件内容的话,那就麻烦了)。
废话不多,上代码~
dirs=`ls -d */`
for dir in $dirs
do
for f in `ls $dir`
do
case "$f" in
*简体\&英文.srt)
cp ./$dir/$f ~/;;
*)
continue;;
esac
done
done
一些说明:
1. 由于有文件夹嵌套,所以dirs保存的是所有目录的名字,其中-d参数保证只是保存名字;
2. $f中是遍历所有的文件,其中&因为有特殊含义,因此需要转义;(可以参考:http://www.tldp.org/LDP/abs/html/escapingsection.html)
3. 用于判断分析文件名,虽然可以用grep,但是语法麻烦,case很好用;
最后惯例是“持续工作,持续学习,持续优化”,美化一下我的VIM,添加颜色:syntax on
如图
dirs=`ls -d */`
for dir in $dirs
do
for f in `ls $dir`
do
case "$f" in
*简体\&英文.srt)
cp ./$dir/$f ~/;;
*)
continue;;
esac
done
done
完工。
评论
发表评论