大きなファイルを小さな部分に圧縮するにはどうすればよいでしょうか?

大きなファイルを小さな部分に圧縮するにはどうすればよいでしょうか?

大きなファイル (約 10 GB) を、それぞれ 150 MB を超えない複数のファイルに圧縮する方法を探しています。

何かご意見は?

答え1

単一ファイルを圧縮

これにより、ファイル /path/to/your/large/file が圧縮され、現在のディレクトリに、プレフィックス compressed.gz を持つ多数のファイルが作成されます。各ファイルの最大サイズは 150000000 バイトです。

gzip -c /path/to/your/large/file | split -b 150000000 - compressed.gz

単一ファイルを解凍する

上記のコマンドを使用して圧縮されたファイルを解凍して、圧縮されていないファイル「/path/to/decrompressed/file」を生成するには、次のコマンドを使用します。

cat compressed.gz* | zcat > /path/to/decrompressed/file

答え2

分割 [オプション] [入力 [プレフィックス]- ファイルを分割する

INPUT の固定サイズの部分を PREFIXaa、PREFIXab などに出力します。デフォルトのサイズは 1000 行で、デフォルトの PREFIX は 'x' です。INPUT がない場合、または INPUT が - の場合は、標準入力を読み取ります。

SIZE には乗数サフィックスが付く場合があります: 512 の場合は b、1K の場合は k、1 Meg の場合は m。

関連情報