単一のtar呼び出しを使用した複数の.tar.gzファイルの抽出

単一のtar呼び出しを使用した複数の.tar.gzファイルの抽出

tar一度に複数のファイルを抽出するように言うことができるかどうか疑問に思います。

私は長年の経験を持つUnixユーザーです。もちろん、抽出したいアーカイブごとに、forまたはfind同様のものを一度呼び出すことができますが、結果が有効なコマンドラインを思い出すことはできません。tar私のtar1回の抽出には2つの.tar.gzファイルがあります。 (いいえ、問題ありませんfor。ただそれなしでできるかどうかを尋ねるだけです。)

気になってこんな質問をしたかもしれませんが、

  • tarこれをサポートする奇妙なポイントがあります
  • 私が試したときに提案された-Mパラメータを使用する方法を知っている人はいますか?tartar -zxv -f a.tgz -f b.tgz
  • 私たちは両方とも視覚障害者であり、これは完全に簡単です。ただし、オンラインで使用していないか、類似のヒントが見つかりforませfindxargs

返信しないでくださいtar -zxvf *.tar.gz(これを行うといいえうまくいきます)そして完全に自信がある場合にのみ「動作しません」と答えてください(おそらく良い説明があります)。なぜ、また)。

編集する:私は指摘されましたスタックオーバーフローに関するこの質問への回答現在の構文に違反しないと、これは不可能であることが非常に詳細に指定されていますが、tar私はこれが本当だとは思わない。 IMHO、既存の構文を使用または中断しませんtar -zxv -f a.tgz -f b.tgztar -zxv --all-args-are-archives *.tar.gz

ベストアンサー1

これは可能です。構文はとても簡単です。

$ cat *.tar | tar -xvf - -i

-iオプションは、マニュアルページのtarアーカイブの末尾にあるEOFを無視します。

-i, --ignore-zeros
ignore blocks of zeros in archive (normally mean EOF)

おすすめ記事