gawk가 소수점 문자로 쉼표 ,
을 사용하여 숫자를 구문 분석하려고합니다. 그래서 나는 fr_FR.utf-8
에 LC_NUMERIC
를 설정했지만 작동하지 않습니다gawk 부동 소수점 현지화
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 옵션을 지정하지 않고 소수점으로 ,
으로 둔한 구문 분석 번호를 가질 수 있습니까?
"+ 0"은 문자열에서 숫자로 강제 변환하는 것이지만 여기서는 필요하지 않습니다. printf는 $ 1을 숫자로 형식화하기 위해 사용합니다. – user1081440
그게 솔루션입니다, 많이 sudo_O 고마워! – user1081440