bashなどのシェルスクリプトで数字を3桁のカンマ区切りにしようとすると結構めんどくさかったのでメモ。
printfの%dを%’d(シングルクォートを間に入れる)にするのはすぐに行き着くけど、それをawkで使おうとするとめちゃ厄介。シングルクォートの中にシングルクォートが入らないから。シングルクォートを\047でエスケープするのがみそ。
printf "%'d\n" "1000000"
or
awk '{printf"%\047d\n",$1}' <<< "1000000"
bashなどのシェルスクリプトで数字を3桁のカンマ区切りにしようとすると結構めんどくさかったのでメモ。
printfの%dを%’d(シングルクォートを間に入れる)にするのはすぐに行き着くけど、それをawkで使おうとするとめちゃ厄介。シングルクォートの中にシングルクォートが入らないから。シングルクォートを\047でエスケープするのがみそ。
printf "%'d\n" "1000000"
or
awk '{printf"%\047d\n",$1}' <<< "1000000"