web-dev-qa-db-ja.com

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

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

何かご意見は?

5
Ran

単一のファイルを圧縮する

これにより、ファイル/ 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
11
yankee

split [OPTION] [INPUT [PREFIX] -ファイルを分割します

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

SIZEには乗数の接尾辞を付けることができます:512の場合はb、1Kの場合はk、1メガの場合はm。

3
moonshadow