我有 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)
Run Code Online (Sandbox Code Playgroud)
上面的语句没有按预期工作。我正在使用 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
Run Code Online (Sandbox Code Playgroud)
然后在提取文件时将文件连接在一起以生成我想要的输出。
有没有办法在 1 条语句中做到这一点?
令人惊讶的是 Quanta 在评论中发布的内容 - 至少在我的 Mac 上!
$ echo abc > foo
$ echo cba > bar
$ gzip foo
$ gzip bar
$ cat foo.gz bar.gz > baz.gz
$ gunzip baz.gz
$ cat baz
abc
cba
$
Run Code Online (Sandbox Code Playgroud)
我有些不安,但也印象深刻。