새 하위 디렉터리를 만들지 않고 .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을 사용하고 있습니다.