从网上自动下载的电影字幕文件中,大部分是srt,ass\ssa 这类的文本文件,另外有些是压缩包(目前只有 rar 和 zip)。需要批量解压这些文件,并清理不合格文件和目录。
我大概想了想,shell 脚本应该是相对轻量、简单而且代码量小的方式了,于是写了这个我平生第一个有用的 shell 脚本。
脚本功能:遍历 subtitle 目录,然后在电影目录下的英文(eng)目录执行一些操作:
如果是压缩文件,解压
清理子目录
清理压缩包
清理多文件目录
清理非指定格式文件
更新数据库
#!/bash/bin
source ./mysql.sh
for dir in `ls subtitle`
do
echo 正在处理 $dir
dir_eng=subtitle/$dir/eng
if [ -d $dir_eng ]; then
file=`ls $dir_eng `
# 解压 zip 和 rar, overwrite mode
if [[ "$file" =~ zip$ ]]; then
unzip -q -o "$dir_eng/*.zip" -d $dir_eng
elif [[ "$file" =~ rar$ ]]; then
rar x -inul -o+ "$dir_eng/*.rar" -d $dir_eng
fi
echo ' 已解压'
#### 解压后,处理目录: ####