각 폴더에는 .gz 파일이 포함된 여러 폴더가 있는 디렉터리가 있습니다. 이 모든 파일의 압축을 한 번에 풀려면 어떻게 해야 합니까?
내 데이터는 다음과 같습니다
폴더 목록
A
B
C
D
각 파일에는 파일이 있습니다.
A
a.out.gz
B
b.out.gz
C
c.out.gz
D
d.out.gz
답변1
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
*이것은 ... 불리운다와일드카드또는파일 이름 확장자. 이에 대해 더 자세히 읽어보고 싶을 수도 있습니다.여기.
답변2
find . -type f -name "*.gz" -execdir gunzip {} \;
find에 대한 execdir 옵션을 사용하면 "find"가 각 디렉터리에 차례로 "cd"되고 exec 명령(이 경우 gunzip)을 실행한 다음 "cd"를 사용하여 cwd로 돌아갑니다.