gunzip 디렉터리의 모든 .gz 파일

gunzip 디렉터리의 모든 .gz 파일

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

그들에게 가장 쉬운 방법은 무엇입니까 gunzip? 원래 이름을 유지하고 이름을 whatevz.txt.gz변경 하고 싶습니다.whatevz.txt

답변1

이건 어때?

$ gunzip *.txt.gz

gunzip기본적으로 접미사 없이 압축된 파일이 생성되며 .gz원본 파일은 삭제됩니다(자세한 내용은 아래 참조). *.txt.gz쉘에 의해 일치하는 모든 파일로 확장됩니다.

이 마지막 항목이 매우 긴 파일 목록으로 확장되면 문제가 발생할 수 있습니다. 이 경우에는 find및 를 사용하여 -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

답변2

이 명령을 사용하여 현재 디렉터리의 모든 파일을 gunzip(gz 파일의 압축 풀기)하고 원본 파일을 유지합니다.

gunzip -k *.gz

답변3

나는 디렉토리로 가서 gzip -d *.gz.

답변4

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

관련 정보