Skip to content

Instantly share code, notes, and snippets.

@tuxfight3r
Last active February 8, 2023 16:56
Show Gist options
  • Save tuxfight3r/72739e7b16dcc86b9782f184eb643267 to your computer and use it in GitHub Desktop.
Save tuxfight3r/72739e7b16dcc86b9782f184eb643267 to your computer and use it in GitHub Desktop.
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