awk
我想在哪里计算列的平均值时遇到了一个相当奇怪的问题。这是我的文件中的测试输入:
1
2
0.4
0.250
0.225
0.221
0.220
0.218
这是我要运行的脚本:
awk '{sum += $1} END {print sum; print sum / NR}' ~/Desktop/bar.txt
我期望的输出是:
<calculated sum>
<calculated average>
但这就是我总是得到的:
3
0,375
我检查了输入文件的格式和字符等,但我无法awk
总结那些讨厌的浮点数。
有任何想法吗?
我awk
在 OS X 10.8.5 上的 bash 3.2.48 中运行版本 20070501。
更新
正如@sudo_O 正确推断的那样,问题是我的语言环境。.
将文件中的a替换为,
正确的结果。这显然不是我正在寻找的解决方案,所以我需要对我当前设置为的语言环境做一些事情:
$ locale
LANG="de_CH.UTF-8"
LC_COLLATE="de_CH.UTF-8"
LC_CTYPE="de_CH.UTF-8"
LC_MESSAGES="de_CH.UTF-8"
LC_MONETARY="de_CH.UTF-8"
LC_NUMERIC="de_CH.UTF-8"
LC_TIME="de_CH.UTF-8"
LC_ALL=
我想保留我认为的数字、货币和日期语言环境。我需要更改(以及如何)哪个语言环境才能awk
工作?