菜鸟学习编写Bash程序不容易啊---一个用于自动处理专利文件的脚本
发表于 : 2013-03-05 23:55
由于研究的关系,经常需要下载一些专利文本。专利文本的一个特点经常是带压缩包的tiff文件,例如一个zip文件,里面有若干tif文件。虽然解压缩,制作pdf都是很容易的。但是一旦这类zip文件多了,一个个处理就很麻烦,于是想到用bash程序来解决。
本人是bash菜鸟,非常的菜,只能学习和理解一些基本的命令,因此写出来的很不好看,但是能用了,希望抛砖引玉。
假定:
下载了若干专利文件,皆为zip文件,下载时就已经用中文进行了命名,如“一种×××.zip”,现在要将每一个压缩包解压并生成单个的pdf文档。命令如下:
如果你有更好的方法,请跟帖分享, 
本人是bash菜鸟,非常的菜,只能学习和理解一些基本的命令,因此写出来的很不好看,但是能用了,希望抛砖引玉。
假定:
下载了若干专利文件,皆为zip文件,下载时就已经用中文进行了命名,如“一种×××.zip”,现在要将每一个压缩包解压并生成单个的pdf文档。命令如下:
代码: 全选
for file in `ls *.zip`; #得到各文件的文件名
do
echo ${file%.zip}; #得到的文件名去后缀
dir=${file%.zip}; #将处理的文件名赋予变量dir
mkdir $dir; #建立以dir为文件名的目录
cp -a $file $dir; #将目标文件(zip)拷贝到新建的文件夹
cd $dir; #进入该文件夹
unzip -j *.zip; #解压目标文件(不包含目录)
rm *.zip; #删除zip文件
tiffcp *.tif $dir.pdf; #根据文件夹中的tiff文件生成pdf文档
rm *.tif; #删除tif文件
mv *.pdf ..; #将生成的pdf文件移动到文件夹外
cd ..; #回上一级目录
rm -R $dir; #删除以专利名称命名的文件夹
done;
