
unzip
Unixのコマンドについて質問があります。これまで、私のUnixコマンドはunzip -p -a
小さなファイルを圧縮できます。ただし、ファイルサイズが大きい場合はコマンドで解凍できません。
ファイル名がだと思えばfile1.zip
、私が指定しunzip -p -a
てコマンドが実行されると Unix ボックスにファイル内容が表示されます。
同じ命令を知りたいです7z
。 @Volker:すでに提案していますがCOMMANDTOUSE="/usr/bin/7z e -so -bd ..
動作しません。
このように定義されたコードの量は次のとおりです。
ファイルがzip形式の場合にunzip -p -a
表示されます。はい、このコマンドは小さいファイルでは機能しますが、大きいファイルでは失敗します。試しましたが7z e -so -bd
失敗しました。 @Volker:代替コマンドを提案できますか?これまでずっと助けてくれてありがとう。
答え1
unzip -p -a
7zipと直接同等なのはです7z e -so -bd
。しかし、これはstdoutに書きたくないと文句を言います(明示的に指示したにもかかわらず)。
$ 7z e -so -bd file.zip
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,8 CPUs)
Error:
I won't write data and program's messages to same terminal
文句を言わない場合は、出力を別の場所にパイプまたはリダイレクトする必要があります。たとえば、画面の出力を読み取るには、次のようにします。
$ 7z e -so -bd file.zip | less
またはファイルに保存してください。
$ 7z e -so -bd file.zip > file-all.txt
答え2
対応する7zipコマンドは、7zip x -so
アーカイブの圧縮を標準出力ストリームに解放します。