Você está atingindo a precisão de awk
inteiro.
Dado seu arquivo de entrada:
$ cat file
1|123456789123456789123456789
2|24536789215457896314563
Um simples print
não está mostrando o resultado correto:
$ awk -F\| '{print $2+0}' file
123456789123456791337762816
24536789215457895776256
Um passo adiante é usar a opção --bignum
ou -M
:
$ awk --bignum -F\| '{print $2+0}' file
123456789123456789123456789
24536789215457896314563
Note que a opção --bignum
está disponível no GNU awk versão 4.1.0.