대상 디렉토리에서 모든 파일을 재귀 적으로 gunzip하려면 어떻게해야합니까?


답변:


15

아래 명령을 사용하십시오. 교체 <path_of_your_zips>하여 ZIP 파일과 경로로 <out>목적지 폴더가 :

  • GZ 파일의 경우

    find <path_of_your_zips> -type f -name "*.gz" -exec tar xf {} -C <out> \;
    

    또는

    find <path_of_your_zips> -type f -name "*.gz" -print0 | xargs -0 -I{} tar xf {} -C <out>
    
  • ZIP 파일

    find <path_of_your_zips> -type f -name "*.zip" -exec unzip {} -d <out> \;
    

    또는

    find <path_of_your_zips> -type f -name "*.zip" -print0 | xargs -0 -I{} unzip {} -d <out>
    

.gz 파일에서도 작동합니까?
user2028856 12

1
개선, 이제 예 :)
AB

2
왜 안 -exec좋아 find . -type f -name "*.gz" -exec tar xzf {} -C <out> \;?
Elliott Frisch

1
gzip

1
tar 파일이 아닌 gzip으로 압축 된 파일은 다음 오류를 발생시킵니다.tar: This does not look like a tar archive
추가 통지가있을 때까지 일시 중지되었습니다.

64

gunzip-r옵션 이 있습니다. 보낸 사람 man gunzip:

   -r --recursive
          Travel  the directory structure recursively. If any of the 
file names specified on the command line are directories, gzip 
will descend into the directory and compress all the files it finds
there (or decompress them in  the  case  of gunzip ).

따라서 디렉토리 와 모든 하위 디렉토리 에있는 gunzip모든 압축 파일 ( gunzip현재 gzip, zip, compress, compress -H 또는 pack에 의해 생성 된 파일의 압축을 풀 수 있음) 을 원할 경우 /foo/bar:

gunzip -r /foo/bar

공백이있는 파일 이름도 처리합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.