타르가 많아요 (.tar.bz2)에는 여러 파일 형식의 파일이 포함되어 있습니다.재귀 디렉터리. 한 가지 유형의 파일만 추출하고 싶습니다(예를 들어. txt파일) 모든 디렉토리에서. 어떻게 해야 하나요? 나는이 명령을 가지고모든 파일 추출각 디렉토리에서:
for file in *.tar.bz2; do tar -jxf "${file}"; done
그냥 추출하고 싶은데".TXT"전체 대신 파일.
답변1
GNU tar 맨페이지를 인용하면 다음과 같습니다.
따라서 이름이 ".c"로 끝나는 파일을 추출하려면 다음을 사용할 수 있습니다.
$ tar -xf foo.tar -v --wildcards '*.c'
따라서 귀하의 경우에는 다음을 선택하겠습니다.
for file in *.tar.bz2; do tar -jxf "${file}" --wildcards '*.txt'; done
답변2
bsdtar를 사용하면 glob을 지정할 수 있습니다:
for file in *.tar.bz2; do tar -jxf "$file" '*.txt'; done
gnutar를 사용하려면 --wildcards 플래그를 추가해야 합니다.
for file in *.tar.bz2; do tar -jxf "$file" --wildcards '*.txt'; done