シェルスクリプトで数字3桁をカンマ区切りにする

Home » メモ帳 » Linux » シェルスクリプトで数字3桁をカンマ区切りにする
Linux, Mac, Unix コメントはまだありません

bashなどのシェルスクリプトで数字を3桁のカンマ区切りにしようとすると結構めんどくさかったのでメモ。

printfの%dを%’d(シングルクォートを間に入れる)にするのはすぐに行き着くけど、それをawkで使おうとするとめちゃ厄介。シングルクォートの中にシングルクォートが入らないから。シングルクォートを\047でエスケープするのがみそ。

printf "%'d\n" "1000000"

or

awk '{printf"%\047d\n",$1}' <<< "1000000"