新しいサブディレクトリを作成せずに.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を使用しています。