Как насчет этого?
$ 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