Use um loop for simples:
for i in *.txt.gz; do zcat "$i" > "${i%.*}"; done
zcat
é equivalente a gunzip -c
, mas menor.
A variável $i
recebe os nomes de todos os arquivos *.txt.gz
no diretório atual (um após o outro). ${i%.*}
retira a extensão ( .gz
) do nome do arquivo.
Nota : esta é a sintaxe do bash.