Existe um comando para arredondar números decimais em arquivos txt?

2

Eu vi este postar , mas eu queria saber se houver um comando mais simples para arredondar números decimais.

Eu tenho um arquivo com milhões de números:

0.1
1.2
3.8

Eu quero arredondá-los para inteiro

0
1
4

Existe um comando simples para fazer isso?

    
por efrem 25.03.2015 / 15:23

2 respostas

2

Com os comandos awk no link postado, você terá algo assim:

awk '{printf("%d\n",$0+0.5)}' file

Ou mais simples, use:

awk '{printf("%.f\n",$0)}' file

Eu não consigo fazer nada mais fácil que isso;)

    
por MrHug 25.03.2015 / 15:35
1

Você pode usar o seguinte perl oneliner:

perl -i -pe 's/(\d*\.\d*)/int($1+0.5)/ge' file

A opção -i mudará automaticamente seus números decimais no local.

A regex \d*\.\d* garantirá que apenas esses números serão alterados no arquivo original (ou seja, outras strings serão deixadas intactas)

    
por Sylvain Pineau 25.03.2015 / 17:40