gtar는 재귀적으로 압축을 풀지만 최상위 디렉토리에 유지됩니다.

gtar는 재귀적으로 압축을 풀지만 최상위 디렉토리에 유지됩니다.

새 하위 디렉터리를 만들지 않고 .tar 파일이 포함된 대규모 디렉터리의 압축을 반복적으로 풀려고 합니다.

이 명령을 사용하여 한 번에 하나의 작업을 성공적으로 수행할 수 있었습니다.

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

그러나 이 작업을 수행하려면 하위 디렉터리에 있어야 하며 위 디렉터리에서 일괄적으로 이 작업을 수행하고 싶습니다.

이것은 내 디렉토리 구조입니다.

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

따라서 이들을 모두 하나의 디렉토리로 옮긴 다음 모두 호출될 때 압축을 풀 수 없으므로 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을 사용하고 있습니다.

관련 정보