将文件合并为一个文件



当前我在这个目录-

/data/real/test

当我在命令提示下执行ls -lt时。我喜欢下面的东西-

REALTIME_235000.dat.gz
REALTIME_234800.dat.gz
REALTIME_234600.dat.gz
REALTIME_234400.dat.gz
REALTIME_234200.dat.gz

如何在Unix中将上述五个dat.gz files合并为一个dat.gz file而不丢失任何数据。我是Unix的新手,对此我不太确定。有人能帮我吗?

更新:-

我不确定哪种方法是最好的,我是否应该解压缩五个文件中的每一个,然后组合成一个?或将所有这些five dat.gz组合成一个dat.gz

如果可以按随机顺序连接文件内容,那么下面的命令就可以了:

zcat REALTIME*.dat.gz | gzip > out.dat.gz

更新

这应该可以解决订单问题:

zcat $(ls -t REALTIME*.dat.gz) | gzip > out.dat.gz

当您压缩结果时,您希望发生什么?如果希望重新显示这五个文件,则需要使用gzip(.gz)格式以外的其他格式。您需要使用tar(.tar.gz)或zip(.zip).

如果您希望gunzip的结果是原始文件的gunzip级联,那么您可以简单地将文件cat(而不是zcat或gzcat)在一起。然后gunzip将它们解压缩为一个文件。

cat [files in whatever order you like] > combined.gz

然后:

gunzip combined.gz

将生成一个输出,该输出是原始文件的gunzip的串联。

将它们全部解压缩,然后将它们重新压缩为一个流的建议是完全没有必要的。

相关内容

  • 没有找到相关文章