web-dev-qa-db-ja.com

stdinからアーカイブを読み取るzipエクストラクタ

UNZIP(1L)のマニュアルページから次のように

標準入力から読み取られたアーカイブはまだサポートされていません

Linux/cygwinで実行されている別のCLIプログラムがあり、zipアーカイブから抽出してstdinから読み取ることができますか?

3
vect

私の答え の再投稿:

BusyBoxのunzipは、stdinを取得して、すべてのファイルを抽出できます。

wget -qO- http://downloads.wordpress.org/plugin/akismet.2.5.3.Zip | busybox unzip -

unzipの後のダッシュは、入力としてstdinを使用することです。

あなたもできます、

cat file.Zip | busybox unzip -

しかし、それはunzip file.Zipの冗長です。

ディストリビューションがデフォルトでBusyBoxを使用している場合(例:Alpine)、unzip -を実行するだけです。

BusyBoxはCygwinで 利用可能 です。

2
Saftever

あなたの質問への答えは、手元にあるZipファイルによって異なります。

gunzip < sample.Zipは機能しますが、互換性のある圧縮方法が使用されている場合に限ります。
小切手 man gunzipまたは https://www.google.se/?#safe=off&q=man+gunzip ...または単に試してみてください。

0
Hannu

(Windows用に改善)Java JDK(big if!)

 get_Zip_content | jar x
 # xv to list while extracting
 # optionally specify entries to extract; default is all
 # supply full /path_to_jdk/bin/jar if it's not in PATH

私はこれをクラッジスケールで約7/10と評価します。

0

Eir Nymのコメントのおかげで、bsdtarbsdtar)のLinuxパッケージからUbuntuを試しました。

0
AmokHuginnsson