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