Nie*_*jes 11 linux gzip split text-files
我有一个经常性的任务,即将一组大的(每个大约1-2 GiB)gzip压缩的Apache日志文件拆分成几个部分(比如说500K行的块).应该再次压缩最终文件以限制磁盘使用量.
在Linux上我通常会这样做:
zcat biglogfile.gz | split -l500000
Run Code Online (Sandbox Code Playgroud)
生成的文件文件将命名为xaa,xab,xac等.所以我这样做:
gzip x*
Run Code Online (Sandbox Code Playgroud)
这种方法的效果是,作为中间结果,这些巨大的文件暂时存储在磁盘上.有没有办法避免这种中间磁盘使用?
我可以(以类似于xargs的方式)通过命令(如gzip)拆分输出并在运行中重新压缩输出吗?或者我是在寻找错误的方向,是否有更好的方法来做到这一点?
谢谢.
jim*_*ont 21
您可以使用slpit --filter选项,如解释手动如
zcat biglogfile.gz | split -l500000 --filter='gzip > $FILE.gz'
Run Code Online (Sandbox Code Playgroud)
编辑:不知道什么时候split --filter引入选项但根据评论,它不起作用--filter.
| 归档时间: |
|
| 查看次数: |
7790 次 |
| 最近记录: |