アーカイブを見つけてそのディレクトリに解凍します。

アーカイブを見つけてそのディレクトリに解凍します。

すべてのディレクトリにある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

おすすめ記事