我有一堆要连接的大型压缩文件。问题是,未压缩版本的末尾没有换行符,所以如果我尝试将它们放在一起并压缩它们,一个文件中的最后一行将连接到下一个文件中的第一行(这会引发我正在使用的软件错误)。只是在每个压缩文件之间插入一个换行符来处理它们是行不通的,因为我认为 gzip 检测到换行符并认为它是“尾随垃圾”之后的所有内容。例如
for f in *.gz; do (cat "${f}"; echo) >> all.gz; done;
gzip -d all.gz
gzip: all.gz: decompression OK, trailing garbage ignored
我想做的是这样的:
unzip file1.gz | add a newline char| gzip the output >> output.gz
然后对 file2.gz、file3.gz 等执行相同的操作。
有什么建议么?