$ mkdir ~/test; cd ~/test $ curl -o wagahai.zip https://www.aozora.gr.jp/cards/000148/files/789_ruby_5639.zip $ unzip wagahai.zip $ ls -aF ./ ../ wagahai.zip wagahaiwa_nekodearu.txt (ls -l で、zipは344964バイト、txtは749051バイト。下記ワンライナーで46%程度に縮んでいるzipとわかります) $ python -c "print("344964/749051")" 0.46053472994495703
$ tar zcvf wagahai.tar.gz *.txt $ tar jcvf wagahai.tar.bz2 *.txt $ tar Jcvf wagahai.tar.xz *.txt $ tar -acvf wagahai.tar.zst *.txt
$ tar cvf wagahait.tar *.txt; gzip wagahait.tar $ tar cvf wagahait.tar *.txt; bzip2 wagahait.tar $ tar cvf wagahait.tar *.txt; xz wagahait.tar $ tar cvf wagahait.tar *.txt; zstd wagahait.tar
$ tar cvf wagahaip.tar *.txt; gzip -9 wagahaip.tar $ tar cvf wagahaip.tar *.txt; bzip2 -9 wagahaip.tar $ tar cvf wagahaip.tar *.txt; xz -9 wagahaip.tar $ tar cvf wagahaip.tar *.txt; zstd --ultra -22 wagahaip.tar
$ zip -9 wagahai9.zip wagahaiwa_nekodearu.txt $ 7z a -mx9 wagahai9.7z wagahaiwa_nekodearu.txt
(残念ながら Liunx で新規にlzhファイルは作れないので、「ふ様 (Windowsの某圧縮専用ソフト)」でlh5で圧縮し、scpで転送します。yz1/cab(LZX/21)もおまけで。
ファイルサイズ順で並び替えると、 lzh (lh5) > 標準zip > tar.gz系全般 > zip(Lv9) > yz1 > zst全般 > cab(LZX/21) > 7z (Lv9) > xz全般 > bz2全般 という結果になりました。あるぇbzip2すごくね?
(ls -l で、bz2は252108バイト、zstは281618バイト、txtは749051バイト。下記ワンライナーでどんだけの圧縮率かがわかります) $ python -c "print(252108/749051)" 0.3365698730794031 $ python -c "print(281618/749051)" 0.3759663894714779
つまりわかることは、だいたい33%~50%くらいに圧縮できるってことになりますかね。