Skip to content

Instantly share code, notes, and snippets.

@tuxfight3r
Last active February 8, 2023 16:56
Embed
What would you like to do?
bash format number with thousand separator for busybox shell
For environments where there is no full fledged printf. The below function does a pretty print of numbers with thousand separator

function

#converts given number to pretty format
function pretty_num(){
     awk '{ len=length($0); res=""; for (i=0;i<=len;i++) { res=substr($0,len-i+1,1) res; if (i > 0 && i < len && i % 3 == 0) { res = "," res } }; print res }'|sed -e's/-,\(.*\)/-\1/g'
}

output

admin$> printf "1\n10\n100\n1000\n10000\n100000\n1000000\n10000000\n100000000\n-100000\n" |pretty_num
1
10
100
1,000
10,000
100,000
1,000,000
10,000,000
100,000,000
-100,000
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment