多个文件准备
先创建一个文件app.log,并输入一些内容。
$ vim app.log
然后按每个文件50行分割成多个文件,行数可自行指定。
$ split -l 50 app.log app_ -d
$ ls
app_00 app_01 app_02 app_03 app.log
使用tar命令批量压缩单个文件
批量压缩文件
$ ls app_*|xargs -I {} tar czvf {}.tar.gz {}
结果
$ ls
app_00 app_00.tar.gz app_01 app_01.tar.gz app_02 app_02.tar.gz app_03 app_03.tar.gz app.log
其中,实现的关键是xargs的-I选项。-I可以指定目标字符(如{})来标识标准输入内容,从而可以多次应用于后续的操作。
-I replace-str
Replace occurrences of replace-str in the initial-arguments with names read from standard input. Also, unquoted blanks do not terminate input items; instead the separator is the newline character. Implies -x and -L 1.
在这里,ls app_*对于xargs输出的内容是每一个文件名.
然后通过tar命令实现压缩
tar czvf {}.tar.gz {}
---转载本站文章请注明作者和出处 二进制之路(binarylife.icu),请勿用于任何商业用途---