我有 2 个 gz 文件,我需要将它们合并为一个——也就是说我想将两个 .gz 文件合并为一个,这样当我提取合并的文件时,我得到一个包含原始输入文件的串联的文件。
time join <(zcat r_TR2_2012-05-28-08-10-00.gz) <(zcat r_TR1_2012-05-28-08-10-00.gz)
上面的语句没有按预期工作。我正在使用 3 个命令来完成需要的工作。
gunzip r_TR2_2012-05-28-08-10-00.gz
gunzip r_TR1_2012-05-28-08-10-00.gz
tar -zcvf combined.tar.gz r_TR1_2012-05-28-08-10-00 r_TR2_2012-05-28-08-10-00
然后在我提取文件以生成我想要的输出时将文件连接在一起。
有没有办法在 1 条语句中做到这一点?
我猜你的意思是:
zcat r_TR2_2012-05-28-08-10-00.gz r_TR1_2012-05-28-08-10-00.gz| gzip -9 > joined.gz
令人惊讶的是,Quanta 在评论中发布的内容有效——至少在我的 Mac 上是这样!
我有些不安,但也很感动。
如果你有多个压缩文件
.gz
,需要合并成一个文件,可以tar
直接使用。无需解压缩然后再次压缩它们。你可以试试这个:
但是,您将获得一个扩展
.gz.tar
名为.tar.gz
. 要解压缩文件,您可以尝试:选项 -a 在这里很有用(来自
man tar
):