作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个输入文件:
Adrian 20.6
Bruce 40.2
Adrian 30.4
Janick 24.2
Dave 42.7
Bruce 42.9
Janick 41.2
有了这里的答案,我能够对数字求和,但现在数字是 float ,我不知道如何打印它们。
现在,我的输出是:
Adrian 50
Bruce 82
Dave 42
Janick 65
但它也应该带有小数。
$(awk '{sum[$1] += $2} END {for (i in sum) print i, sum[i]}' $arq > temp.txt && sort temp.txt)
我已经使该代码按字母顺序排序。
最佳答案
您所在的语言环境中小数分隔符不是 .
,因此 .
被视为不属于数字的任何其他字符(例如 a
或 @
),因此您的号码将被截断为 .
之前的部分。
执行 LC_ALL=C awk '...'
将您的语言环境设置为使用 .
作为小数点分隔符的语言环境,然后您的脚本将作为 -是。
关于shell - 如何用awk打印 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67781405/
我是一名优秀的程序员,十分优秀!