gtar は再帰的に解凍しますが、最上位ディレクトリに保持されます。

gtar は再帰的に解凍しますが、最上位ディレクトリに保持されます。

新しいサブディレクトリを作成せずに.tarファイルを含む大規模ディレクトリの圧縮を繰り返し解凍しようとしています。

このコマンドを使用して、一度に1つの操作を正常に実行できました。

gtar -xf *.tar --strip-components 2

ただし、これを行うにはサブディレクトリに配置する必要があり、上記のディレクトリで一括してこれを実行したいと思います。

これは私のディレクトリ構造です。

/top_directory
   /sub1
      tarfile1.tar
   /sub2
      tarfile1.tar
   /sub3
      tarfile1.tar
   /sub4
      tarfile1.tar

したがって、それらをすべて1つのディレクトリに移動し、すべてを呼び出すと解凍できないため、tarfile1.tarサブディレクトリに残る必要があります。

しかし、私は彼らがより多くのサブディレクトリを作成したくありません。彼らは彼らが含むファイルだけが欲しいだけです。

私が達成したいもの:

/top_directory
       /sub1
          tarfile1.tar
          file1.txt
          file2.txt
          file3.txt
       /sub2
          tarfile1.tar
          file1.txt
          file2.txt
       /sub3
          tarfile1.tar
          file1.txt
          file2.txt
          file3.txt
       /sub4
          tarfile1.tar
          file1.txt
          file2.txt

私はこのコマンドに近いと思います。

for file in *; do gtar -xf ${file} --strip-components 2; done

しかし、次のエラーが返されます:gtar:これはtarアーカイブのようには見えません。

私が試したとき

for file in *.tar; do gtar -xf ${file} --strip-components 2; done

私も同じミスを犯した。

解凍したファイルをそのディレクトリに保持しながら、サブディレクトリ内のすべてのファイルを解凍するにはどうすればよいですか。

私はSolaris11を使用しています。

ベストアンサー1

おすすめ記事