如何使用awk打印浮点数

Lvc*_*rft 2 sorting shell awk bc

我有这个输入文件:

Adrian 20.6
Bruce 40.2
Adrian 30.4
Janick 24.2
Dave 42.7
Bruce 42.9
Janick 41.2
Run Code Online (Sandbox Code Playgroud)

通过我在这里得到的答案,我能够对数字求和,但现在数字是浮点数,我不知道如何打印它们。

现在,我的输出是:

Adrian 50
Bruce 82
Dave 42
Janick 65
Run Code Online (Sandbox Code Playgroud)

但它也应该带有小数。

$(awk '{sum[$1] += $2} END {for (i in sum) print i, sum[i]}' $arq > temp.txt && sort temp.txt)
Run Code Online (Sandbox Code Playgroud)

我已经使该代码按字母顺序排序。

Ed *_*ton 7

您所在的区域设置不是小数点分隔符,.因此.被视为不属于数字的任何其他字符(例如a@),因此您的数字被截断为..

LC_ALL=C awk '...'你的区域设置为一个不使用.的小数点分隔符,然后你的脚本将工作原样。