如果我没有弄错的话,awk会根据操作系统语言解析一个数字(例如,echo "1,2" | awk '{printf("%f\n",$1)}'在英语系统中会被解释为1,而在逗号将整数与小数部分分开的系统中会被解释为1.2).
我不知道C printf是否也这样做,所以我添加了C标签.
我想修改上一个命令,以便它返回相同的值(1.2),无论使用何种系统.
欢迎的丑陋的语言环境.要解决您的问题,请先将语言环境设置为C语言环境.
export LC_NUMERIC=C
echo "1,2" | awk '...your code...'
Run Code Online (Sandbox Code Playgroud)
要关闭其他依赖于语言环境的tomfoolery,您可以
export LC_ALL=C
Run Code Online (Sandbox Code Playgroud)