Não use gzip
, use zcat
em vez de esperar uma extensão. Você pode fazer tudo de uma só vez. Apenas tente zcat
do arquivo e, se isso falhar porque não está compactado, cat
em vez disso:
for f in *; do
( zcat "$f" || cat "$f" ) > temp &&
mv temp "$f".ext &&
rm "$f"
done
O script acima tentará primeiro zcat
do arquivo em temp
e, se isso falhar (se o arquivo não estiver no formato gzip), será apenas cat
. Isso é executado em um subshell para capturar a saída de qualquer comando executado e redirecioná-lo para um arquivo temporário ( temp
). Em seguida, o temp
é renomeado para o nome do arquivo original mais uma extensão ( .ext
neste exemplo) e o original é excluído.