web-dev-qa-db-ja.com

Linuxでテキストファイルを圧縮するには、どのアーカイブ方法が適していますか?

私のアプリケーションでは、テキストファイルであるログを圧縮する必要があります。

のようだ bzip2gzipの圧縮率は同じです。

あれは正しいですか?

17
user710818

通常、bz2の方が圧縮率が高く、回復機能も優れています。

OTOH、gzの方が高速です。

xzはbz2よりも優れていると言われていますが、タイミングの動作はわかりません。

5
glglgl

maximumcompression.com の最終更新は2011年6月 (2015年10月に更新された回答)
したがって、このウェブサイトは言及していません
世界中の現在のチャンピオンテキストコンプレッサー

cmix

コンテスト/ベンチマーク:

詳細:
Byron Knoll は、本に基づいて2013年以降、cmixをlibreソフトウェア(GPL)として積極的に開発しています Data Compression Explained by マット・マホニー 。 Matt Mahoneyはまた、上記のベンチマークのいくつかを維持し、提案 [〜#〜] zpaq [〜#〜][〜#〜] wp [〜#〜] )、コマンドラインの増分アーカイバ。


より標準的なツール(必要なRAMが少ない)を希望する場合は、次のことをお勧めします。

lrzip

lrzipCon [Kolivas による rzip の進化形です。
lrzipは、Long Range ZipおよびLzma RZIPの2つの名前を表します。
lrzipxz(もう1つの一般的な圧縮ツール)よりも優れていることがよくあります。
Alexander Ricciolrzipも推奨しています。


私のお気に入りは:

zpaq

「アーカイバエキスパート」Matt Mahoney が集中的に取り組んだ [〜#〜] paq [〜#〜] アルゴリズムを10年間使用し、CPU /メモリリソースと圧縮レベルの間で最高の妥協点を提供します。

ただし、 last zpaq version は、最近のディストリビューションではパッケージ化/利用できないことが多くあります:
新しいマシンがあり、非常に優れたコンプレッサーが必要な場合は、常にソースからコンパイルします。---(https://github.com/zpaq/zpaq

clone https://github.com/zpaq/zpaq
cd zpaq
g++ -O3 -march=native -Dunix zpaq.cpp libzpaq.cpp -pthread -o zpaq
7
olibre

たぶん これらのベンチマーク 、特に ログファイルの圧縮 をテストする部分を見ることができます。

4
Cédric Julien

以下を圧縮するためにテストするベンチマークを作成しました:
204MBフォルダー(1,600 htmlファイル)
結果

7Zip =>     2.38 MB
winrar =>   49.5 MB
Zip =>      50.8 MB
gzip =>     51.9 MB

だから7Zipはあなたがここからそれを手に入れることができるそれらの中で最高です
http://www.7-Zip.org/

xzはbz2よりもはるかに圧縮率が高くなりますが、時間がかかります。したがって、最大圧縮が目標であり、ハードドライブのスペースが貴重な場合(これは、1つのドライブが98%使用されている場合-ファイルシステムを再編成しているときです)、スクリプトを実行して作業を行うことができます。 -休憩して5分後に戻ってきます。

unxzは、私の経験上、非常に高速に解凍できます。これは、私にとって日常的には良いことです。

bz2は、xzよりも圧縮が高速ですが、xzの圧縮結果を実現するようには見えません。

これらの評価を行う唯一の方法は、通常圧縮/解凍する一般的なファイルの組み合わせに対してベンチマークを実行し、パラメーターを変化させて、どちらが上に来るかを確認することです。

0
Tom

bz2はより圧縮が厳しく、アルゴリズムは冗長性を探して圧縮するオプションをより多く持っています。

gzipははるかに多くのツールに含まれており、クロスプラットフォームです。より多くのWindowsツールが.gzファイルを処理できます。これはhttpの一部なので、Webブラウザーでも理解できます。

Linuxには、圧縮ファイルを直接操作できるツールがあります。 zgrepおよびbzgrepは、圧縮ファイルを検索できます。

Linuxのみの場合、bzip2を使用すると、圧縮率が少し向上します。

0
Rich Homolka