github.com/benhoyt/goawk@v1.8.1/testdata/gawk/addcomma.awk (about) 1 # addcomma - put commas in numbers 2 # input: a number per line 3 # output: the input number followed by 4 # the number with commas and two decimal places 5 6 { printf("%-12s %20s\n", $0, addcomma($0)) } 7 8 function addcomma(x, num) { 9 if (x < 0) 10 return "-" addcomma(-x) 11 num = sprintf("%.2f", x) # num is dddddd.dd 12 while (num ~ /[0-9][0-9][0-9][0-9]/) 13 sub(/[0-9][0-9][0-9][,.]/, ",&", num) 14 return num 15 }