パイプされたzipファイルを次のように解凍する方法に関するアイデア:
wget -qO- http://downloads.wordpress.org/plugin/akismet.2.5.3.zip
通常のファイルで行っていたように、ファイルをディレクトリに解凍したかったのです。
wget -qO- http://downloads.wordpress.org/plugin/akismet.2.5.3.zip | unzip -d ~/Desktop
BusyBoxunzip
は stdin を取り、すべてのファイルを抽出できます。
wget -qO- http://downloads.wordpress.org/plugin/akismet.2.5.3.zip | busybox unzip -
後のダッシュunzip
は、標準入力を入力として使用することです。
あなたも、
cat file.zip | busybox unzip -
しかし、それはの冗長ですunzip file.zip
。
ディストリビューションがデフォルトで BusyBox を使用している場合 (Alpine など)、実行するだけunzip -
です。
以下は bash では機能しませんが、zsh では機能します。多くの zsh ユーザーがここにたどり着く可能性があるため、それでも役立つ可能性があります。
% unzip =( wget -qO- http://downloads.wordpress.org/plugin/akismet.2.5.3.zip )
Archive: /tmp/zshLCod6x
creating: akismet/
inflating: akismet/admin.php
inflating: akismet/akismet.css
inflating: akismet/akismet.gif
inflating: akismet/akismet.js
inflating: akismet/akismet.php
inflating: akismet/legacy.php
inflating: akismet/readme.txt
inflating: akismet/widget.php
%
ダウンロードした一時的な zip ファイルがすぐに削除されていることがわかります。
% ls /tmp/zshLCod6x
ls: cannot access '/tmp/zshLCod6x': No such file or directory
%
wget -q -O tmp.zip http://downloads.wordpress.org/plugin/akismet.2.5.3.zip && unzip tmp.zip && rm tmp.zip
funzip(http://www.info-zip.org/mans/funzip.html)を見てみます。そのためのマニュアルページには、
...filter for extracting from a ZIP archive in a pipe
申し訳ありませんが、例はありませんが、Linuxの解凍ユーティリティが付属しているようです。