STDIN/STDOUTで使いにくい7z コマンド
7z コマンドが最強だと思ってました。 7z はアップデートも頻繁にされているし、利用者も多い枯れているツールだと思いこんでました。
STDIN から読み込み
tar.gz を展開するときは次のようになりますよね。
cat sample.tgz |gunzip | 7z -si -ttar l cat sample.tgz |gunzip | 7z -si -ttar x 001.jpg -so > out.jpg
同じように 7z / zip が扱えるかというと。
STDIN でパイプすると出来ない
## zip / 7z cat sample.zip | 7z -si -tzip cat sample.7z| 7z -si -t7z
エラーになる。
ERROR: : opening : E_NOTIMPL : Not implemented
STDIN でリダイレクトすると出来ない。
7z -si l < sample.7z 7z -si l < sample.zip
stdin 使えない
tar 以外では、STDINが使えません。まじかよって感じです。だったら -t tar
の形式指定オプションはなんのためにあるんだよって感じ。
p7zip 使いにくい・・・
公式マニュアルを読んでみると、STDINで想定してるのはtar だけっぽいぞ。
7z コマンドって微妙に使いにくいですね。