여러 폴더가있는 디렉토리가 있으며 각 폴더에는 .gz 파일이 있습니다. 한 번에 모두 압축을 풀려면 어떻게해야합니까?

내 데이터는 다음과 같습니다.

폴더 목록

A B C D 

모든 파일에는

A a.out.gz B b.out.gz C c.out.gz D d.out.gz 

댓글

  • gunzip */*.gz?

답변

gunzip : 폴더의 모든 파일의 압축을 풀고 끝이 .out.gz

gunzip */*.out.gz 

“루프”됩니다 * 압축 파일이있는 모든 폴더를 통해. 예를 추가하겠습니다.

A a.out.gz B b.out.gz C c.out.gz D d.out.gz E e.out 

위의 명령을 사용하여 a.out.gz b.out.gz c.out.gz d.out.gz는 모두 압축이 풀리지 만 e.out 압축되지 않았기 때문입니다.

* 글 로빙 또는 파일 이름 확장 이라고합니다. 이에 대한 자세한 내용은 여기 를 참조하세요.

댓글

  • 그러나 각 폴더에 zip 파일이 포함 된 여러 폴더가 있으면 어떻게됩니까? 모든 폴더를 어떻게 반복 할 수 있나요?
  • */*.out.gz는 모든 폴더를 반복합니다 ('는 */ 부분)
  • @HoHoHo는 mazs가 지적했듯이 " 루프 ". ' 개념을 추가로 설명하는 페이지에 대한 추가 설명과 링크를 추가했습니다.

답변

find . -type f -name "*.gz" -execdir gunzip {} \; 

execdir 옵션을 사용하면 “find”가 각 디렉토리로 차례로 “cd”가되고 exec 명령 (gunzip in 이 경우) 그런 다음 “cd”를 다시 cwd

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다