Bash AWK不';输出区域设置中十进制形式(100.000)的t过滤器编号100

Bash AWK不';输出区域设置中十进制形式(100.000)的t过滤器编号100,bash,awk,locale,Bash,Awk,Locale,首先,感谢大家的帮助。我使用值为100.000的AWK进行过滤时遇到问题,该值与100相同,但使用小数。我有这个档案: 1 100 2 100.000 3 99.874 4 67.321 这是我的代码: cat example.txt | awk '$2 >= 70 {print $2}' 生成的输出如下 100 99.874 如您所见,值100.000也必须出现。我的awk版本是mawk 1.3.4 20200120,其行为取决于您的语言环境设置 我建议: LC_N

首先,感谢大家的帮助。我使用值为100.000的AWK进行过滤时遇到问题,该值与100相同,但使用小数。我有这个档案:

1   100
2   100.000
3   99.874
4   67.321
这是我的代码:

cat example.txt | awk '$2 >= 70 {print $2}'
生成的输出如下

100
99.874

如您所见,值100.000也必须出现。我的awk版本是mawk 1.3.4 20200120,其行为取决于您的
语言环境设置

我建议:

LC_NUMERIC=C mawk '$2 >= 70 {print $2}' example.txt

我无法在GNU
awk
中重现此行为,当我运行此命令时,我在输出中得到
100.000
。您使用的是哪个版本的
awk
,o.s适合您?请务必提及这些细节,谢谢。您可能会丢失
cat
和管道,只需
awk。。。file.txt
似乎是相同的结果我的awk版本是mawk 1.3.4 20200120将
语言环境
的输出添加到您的问题中(无评论)。