多くの種類のファイルを含むアーカイブからjpeg画像のみを抽出するスクリプトを作成しようとしています。
そうするために、私は使用しようとしました:
tar -xf MyTar.tar *.jpg
しかし、失敗し(* .jpgが見つかりません)、「-wildcard」を使用することをお勧めします。だから私は試しました
tar -xf MyTar.tar --wildcard *.jpg
私はそうしましたが、同じエラーと別の警告で、オプション「--wildcard」はあいまいであると私に言っています。
私はtarのマニュアルページを読みましたが、問題についての手掛かりは見つかりませんでした。
最終的に、私は良い休憩の後で答えを見つけました。オプションはワイルドカードですs、複数形...
したがって、コマンド
tar -xf MyTar.tar --wildcards "*.jpg"
私が必要とすることを正確に行いました。
このようにワイルドカードを引用符で囲みます"*.jpg"
したがって、シェルはそれを展開しようとせず、代わりに直接tarに渡します。シェルにワイルドカードを評価させるのではなく、tarに評価させたい場合は、引用符で評価します。
一部の古いバージョンのtarでは、以下が 「man」ファイル から抽出されます。
ファイル名置換ワイルドカードは、アーカイブからのファイルの抽出には使用できません。むしろ、次の形式のコマンドを使用します。
tar xvf ... /dev/rmt/0 `tar tf ... /dev/rmt/0 | grep 'pattern' `