6

現在、私はこのディレクトリにいます-

/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 で上記の 5 つdat.gz filesを 1 つに統合するにはどうすればよいでしょうか。dat.gz file私は Unix が初めてで、これについてはよくわかりません。誰でもこれについて私を助けることができますか?

アップデート:-

5 つのファイルをそれぞれ解凍してから 1 つにまとめるのが最善の方法かどうかわかりません。または、それらすべてfive dat.gzを 1 つに結合しdat.gzますか?

4

2 に答える 2

12

ファイルのコンテンツをランダムな順序で連結しても問題ない場合は、次のコマンドでうまくいきます。

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

アップデート

これは注文の問題を解決するはずです:

zcat $(ls -t REALTIME*.dat.gz) | gzip > out.dat.gz
于 2012-08-02T20:57:22.063 に答える
5

結果をガンジップしたときにどうしたいですか? 5 つのファイルを再表示する場合は、gzip (.gz) 形式以外のものを使用する必要があります。tar (.tar.gz) または zip (.zip) のいずれかを使用する必要があります。

gunzip の結果を元のファイルの gunzip の連結にしたい場合は、ファイルを (zcat または gzcat ではなく) 単純に cat できます。gunzip はそれらを 1 つのファイルに解凍します。

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

それで:

gunzip combined.gz

元のファイルの gunzip を連結した出力が生成されます。

それらをすべて解凍してから、1 つのストリームとして再圧縮するという提案はまったく不要です。

于 2012-08-02T23:14:56.637 に答える