Shell Script

定理:如果需要经常重复做某一项工作,那么就一定有让电脑自动完成的方法。

国际标准时间2月1日,又到了每月初提供最新下载包的时候了。今天一犯懒,写了个 Shell Script,扫描指定目录下当月新增的剧本,打包,然后移动到相应的目录,再把该目录打包。整个脚本运行起来不到1分钟,就把每月需要10分钟左右的手工工作做完了,而且在仔细审查了代码之后,可以肯定不会出错。 表情

当前目录分布情况:pdf 和 txt 目录包含每月产生的剧本,同级 script 目录下的 PDF Format 和 TXT Format 包含所有的剧本,按照编号(1□□□、2□□□等等)分出子目录。脚本的原理就是先把当月的文件打包,然后按字母顺序排列组合出可能的文件名集,若该类文件名存在,则移至相应的目录,并把该目录打包。仅此而已。注意:文件名第二位有字母的需要先处理。比如7h*若留在后面,就会与更广泛的7*所吻合而被提前处理掉。

帖出来用于处理 pdf 格式的脚本 zippdf,处理 txt 的大同小异。有在 Unix 下面玩儿的朋友欢迎交流经验。

#!/bin/sh
# Go to monthly directory.
cd pdf/
# Remove old zips, if there is any.
rm -f *.zip
# Pack this month's files.
zip newp *
# Go through from 7a* to 7z*
for findex in a b c d e f g h i j k l m n o p q r s t u v w x y z;
do
filename="7$findex*.pdf"
dirname="7""$findex""00p"
# If the pattern matches:
if ls $filename
then
# Move files to the corresponding directory
mv -f ./$filename "$HOME/script/PDF Format/$dirname/"
cd "$HOME/script/PDF Format/$dirname/"
# Pack this directory
zip -r "$HOME/pdf/""$dirname"".zip" *
cd "$HOME/pdf/"
fi
done
# Go through from 9a* to 9z*
for findex in a b c d e f g h i j k l m n o p q r s t u v w x y z;
do
filename="9$findex*.pdf"
dirname="9""$findex""00p"
# If the pattern matches:
if ls $filename
then
# Move files to the corresponding directory
mv -f ./$filename "$HOME/script/PDF Format/$dirname/"
cd "$HOME/script/PDF Format/$dirname/"
# Pack this directory
zip -r "$HOME/pdf/""$dirname"".zip" *
cd "$HOME/pdf/"
fi
done
findex=1
# Go through from 1* to 9*
while [ $findex -le 9 ]
do
filename="$findex*.pdf"
dirname="$findex""000p"
# If the pattern matches:
if ls $filename
then
# Move files to the corresponding directory
mv -f ./$filename "$HOME/script/PDF Format/$dirname/"
cd "$HOME/script/PDF Format/$dirname/"
# Pack this directory
zip -r "$HOME/pdf/""$dirname"".zip" *
cd "$HOME/pdf/"
fi
findex=`expr $findex + 1`
done

《太湖山》剧照辨认

曾经在感叹富连成兴衰的时候发过一张《太湖山》的剧照,后来和皇兄谈起此事,猜测谁可能是哪个,最后的结论是:这种问题只能去请教吴小如教授。于是乎,发信给枯石瘦木大哥,相烦讨教。在他回家过年前,有幸去拜会刘曾复教授,问来了如下结果:

《太湖山》剧照
《太湖山》剧照

左一:谭盛英(据刘曾复说为戏中与花逢春一起的某主角老生;据小豆子手中陈富瑞《太湖山》藏本,里面主角老生似乎只剩下个公孙胜了,但是按剧照的打扮,应不是)、左二(后):段富寰(非段盛环)、左三(前):李盛佐(太湖山强匪,下跪着)、左四(后)、右二(后):戴盛来、张盛桐(哪个是哪个不确认)、右四(后):周盛明(以上三人为校尉)、右三(前)孙盛文(李俊)、右一:高盛麟(花逢春)

另稍来录音一份,为当时辨认时录下的。刘老真可谓博学多识,而且记忆力如此之好,只从剧照便能记起这一班富、盛的名字,且与原书不差(更值得一提的就是原书误作的“段盛环”,考富社名单,确知有段富寰而无段盛环),真是让人钦佩不已。

这才是真正做学问的。衷心祝愿老先生健康长寿,顺祝春节快乐!

枯石大哥回家了,看他论坛里的帖子说,在家的时节上网也就不方便了。不管怎样,也要谢谢了! 表情