Estou usando o awk para simplesmente alterar algum texto em um arquivo, mantendo os valores como estão atualmente no arquivo.
O problema é que alguns dos valores estão mudando. os valores são mantidos se eu usar %f
- no entanto, eu gostaria de eliminar os zeros à esquerda desnecessários. Isso é feito para a maioria dos valores ao usar %g
, mas %g
faz com que alguns dos valores sejam convertidos em números científicos, o que eu não quero.
Existe uma maneira de imprimir os números para o novo arquivo sem o zero final, assim como não converter nenhum número em notação científica?
Exemplos:
Quando eu aplico o seguinte ao arquivo que estou alterando, usando %f
:
(rline == 4) {printf("%f\t %s\n",$1,"gsurf_intercept")}
resulta em:
1000000.000000 gsurf_intercept
quando eu uso a opção %g
:
(rline == 4) {printf("%g\t %s\n",$1,"gsurf_intercept")}
resulta em:
1e+06 gsurf_intercept
o que eu quero é:
1000000 gsurf_intercept
Além disso, aplico isso a 70 linhas no arquivo que estou alterando e gostaria que o arquivo resultante produzisse duas colunas, cada coluna alinhada. Eu acho que nem cada item se alinha com o acima ou abaixo - isso acontece quando o item na primeira coluna é uma string e eu uso %s
para ele.