分割後に Tar ファイルを結合する最適な方法は何ですか

分割後に Tar ファイルを結合する最適な方法は何ですか

巨大なtarファイルから分割した以下のファイルがあります

linuxaa
linuxab
linuxac
.
.
.

注 - ファイルはlinux[a-b][a-z]およびlinux-xxxxまたはですlinux_xxx が、圧縮したいのは、linux [a-b[a-z]

そして通常、私はこれを使ってtar.gzファイルを再度作成します

cat linux[a-b][a-z] > centos7-rpm.tar.gz 

ほとんどの場合、tar.gz正常に作成されます

しかし、時々このファイルは破損しているようです

ファイルを作成するための他の安全な方法はありますかtar.gz?

tarファイルに問題がある場合は次のエラーが発生します

gzip: stdin: invalid compressed data--format violated
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
failed while , error 2

重要な注意点

私たちはただcat linux* > centos7-rpm.tar.gz

linux-tool圧縮したくない他のファイルがあるため

答え1

ファイルのリストが適切にソートされない場合があります。次の操作をお試しください。

cat linux* > centos7-rpm.tar.gz

または

cat linux?? > centos7-rpm.tar.gz

文字で始まる他のファイルがある場合linux

ただし、順序を確認するには、次のような方法を試してください。

cat $(ls -1 linux[a-b][a-z]|sort) > centos7-rpm.tar.gz

ls -11行ごとに出力を生成します。sortファイルのリストが適切にソートされていることを確認します(リストを作成するためにsplitコマンドを使用する場合)

関連情報