すべてのディレクトリにあるtarファイルを見つけ、1行のコマンドで解凍したいと思います。ホームディレクトリとは別に見つけることができます。ただし、そのファイルがあるディレクトリからのみ抽出できます。パイプを使用してこれら2つの操作を1行でどのように実行できますか?
find -name any.tar ; tar xf any.tar
これを試してみました。any.tar
すべてのディレクトリで個別にファイルを見つけることができます。また、ファイルを個別に抽出しますが、そのファイルがあるディレクトリtar xf
にのみ抽出します。any.tar
これら2つのコマンドを1行で実行して、any.tar
コマンドがホームディレクトリでコンパイルされたときに見つけて抽出できるようにしたいと思います。
私はUnixに初めて触れました。助けてください。ありがとうございます。
ベストアンサー1
これが役に立つかもしれません
find ./ -name '*.tar' -exec sh -c 'dir=$(dirname "$0"); tar -xvf "${0}" -C "${dir}"; done' {} \;
man
ページからtar
-C, --directory DIR
change to directory DIR