我希望 gawk 使用逗号,作为小数点字符来解析数字。所以我设置LC_NUMERIC为fr_FR.utf-8但它不起作用:
echo 123,2 | LC_NUMERIC=fr_FR.utf-8 gawk '{printf ("%.2f\n", $1 + 0) }'
123.00
解决方案是指定选项--posix,export POSIXLY_CORRECT=1但在这种情况下,GNU awk 扩展不可用,例如delete或gensub函数:
echo 123,2 | LC_NUMERIC=fr_FR.utf-8 gawk --posix '{printf ("%.2f\n", $1 + 0) }'
123,20
是否可以在不指定 POSIX 选项的情况下将 gawk 解析数字,作为小数点?