有时候我们要进行压缩文件操作,如果只是一两个文件,鼠标左右键操作两三下就完事,但文件的数量如果成百上千,再使用鼠标手动将文件一个个压缩成为对应名字的压缩包,那就太费时间了。
本文介绍采用linux shell脚本批量化自动完成大量文件的压缩操作。比如当前目录下存在1.txt,2.txt,…,100.txt等大量文件,那么运行allzip.sh脚本后,即在linux终端运行./allzip.sh命令后,当前目录下自动依次生成上述文件对应的压缩包:1.zip,2.zip…100.zip。
allzip.sh脚本的源代码如下:
1 | #!/bin/bash |
简要分析下:
1. 变量name主要提取待压缩文件的前缀,比如我们要压缩的文件为test1.txt,那么name对应的值就是前缀”test1”;
2. zip命令的使用:zip 目标文件 源文件。
图1是Cygwin模拟的linux环境下测试的结果,可发现运行脚本后,自动生成test1.txt到test3.txt文件对应的zip压缩包。
图1 allzip.sh在Cygwin环境下的测试结果
本文中windows下模拟linux环境的Cygwin介绍参照:
https://www.zhangtiefei.cn/211.html
https://www.zhangtiefei.cn/167.html