web-dev-qa-db-ja.com

tarは、wgetを介してアーカイブ形式をパイプするときに、アーカイブ形式を検出できますか?

任意の形式のtarアーカイブがある場合は、次を使用できます。

tar xf archive.tar.xz
tar xf anotherarchive.tar.gz

tarがそれ自体で関連するフォーマットを発見するとき。

次に、アーカイブをダウンロードして、wgetを使用してファイルシステムに保存せずに抽出します。

wget -qO- http://someserver.org/sometar.tar.xz | tar xf -C ~/extractTarget
tar: -C: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now

fフラグが実際のファイルを想定しているため、問題が発生していることに気付きました。それを省略して、tarが関連するフラグについて文句を言うようにします。

gzの場合:

tar: Archive is compressed. Use -z option

xzの場合:

tar: Archive is compressed. Use -J option

それらを追加すると、私のコマンドが機能します。しかし、tarはアーカイブ形式を認識しているので、次のように思います。

xfのようにフラグを追加せずにそれらを抽出する方法はありますか?

3
k0pernikus

使用する tar xf --は、標準入力のプレースホルダーです。

2
Janis