디렉토리의 모든 .gz 파일을 gunzip


24

.txt.gz파일 이 많은 디렉토리가 있습니다 (이름이 특정 패턴을 따르지 않는 곳).

gunzip그들에게 가장 간단한 방법은 무엇입니까 ? 원래 이름을 유지 whatevz.txt.gz하여whatevz.txt

답변:


42

이건 어때?

$ gunzip *.txt.gz

gunzip.gz접미사가 없는 압축 파일을 생성하고 기본적으로 원본 파일을 제거합니다 (자세한 내용은 아래 참조). *.txt.gz셸에서 일치하는 모든 파일로 확장됩니다.

이 마지막 비트는 매우 긴 파일 목록으로 확장되면 문제를 일으킬 수 있습니다. 이 경우 findand -exec를 사용 하여 작업하십시오.


매뉴얼 페이지에서 gzip(1):

gunzip takes a list of files on its command line and  replaces  each  file
whose  name  ends  with  .gz, -gz, .z, -z, or _z (ignoring case) and which
begins with the correct magic number with an uncompressed file without the
original  extension.

'원래 이름'에 대한 참고 사항

gzip은 압축시 사용 된 파일 이름을 저장하고 복원 할 수 있습니다. 압축 파일의 이름을 바꾸어도 원래 이름으로 다시 복원되는 것을보고 놀랄 수 있습니다.

gzip 맨 페이지에서 :

기본적으로 gzip은 원본 파일 이름과 타임 스탬프를 압축 파일에 유지합니다. -N옵션으로 파일을 압축 해제 할 때 사용됩니다 . 압축 파일 이름이 잘 리거나 파일 전송 후 타임 스탬프가 보존되지 않은 경우에 유용합니다.

메타 데이터에 저장된 이러한 파일 이름은 다음과 같이 볼 수도 있습니다 file.

$ echo "foo" > myfile_orig
$ gzip myfile_orig 
$ mv myfile_orig.gz myfile_new.gz 
$ file myfile_new.gz 
myfile_new.gz: gzip compressed data, was "myfile_orig", last modified: Mon Aug  5 08:46:39 2019, from Unix
$ gunzip myfile_new.gz        # gunzip without -N
$ ls myfile_*
myfile_new

$ rm myfile_*
$ echo "foo" > myfile_orig
$ gzip myfile_orig
$ mv myfile_orig.gz myfile_new.gz 
# gunzip with -N
$ gunzip -N myfile_new.gz     # gunzip with -N
$ ls myfile_*
myfile_orig

0

.gz파일 을 유지 하려면 다음을 사용할 수 있습니다. $ gunzip -c inputfile.gz >outputfile


0

이 명령을 사용하여 현재 디렉토리의 모든 파일을 gunzip (zip 압축 풀기)하고 원래 파일을 유지하십시오.

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