tar
findコマンドを使用してファイル内の特定のファイルを抽出できるかどうかを知りたいです。
例:
一般的な状況:「file1」というファイル名を見つけて抽出します。
tar xvf tarfilename file1
私の状況:
find . -iname "*tar*" -exec tar -xvf *file1* {} \;
それが可能かどうかはわかりません。
理由:
tar
私の内部プロダクションシステムはコマンドの実行を許可しません。
最善の方法はtarを直接実行することであることを知っていますが、最終的に希望は崩れました。
よろしくお願いします。
答え1
シェルから直接実行することはできませんが、tar
別のコマンドで実行できる場合は、次のことができます。
env tar xvf file.tar file1
find . -prune -exec tar xvf file.tar file1 ';'
perl -e 'exec @ARGV' tar xvf file.tar file1
ただし、これはまだ有効であるため、tar
少なくともあなたの出馬を禁止する法律の精神にまだ違反している可能性がありますtar
。
これに加えて(アーカイブ処理に使用されるPOSIXコマンド)もtar
実行できます。pax
pax -r < file.tar file1