Bash
在數字中添加千位分隔符
在蟒蛇
re.sub(r"(?<=.)(?=(?:...)+$)", ",", stroke )
用三元組分割一個數字,例如:
echo 123456789 | python -c 'import sys;import re; print re.sub(r"(?<=.)(?=(?:...)+$)", ",", sys.stdin.read());' 123,456,789
如何用 bash/awk 做同樣的事情?
與
sed
:$ echo "123456789" | sed 's/\([[:digit:]]\{3\}\)\([[:digit:]]\{3\}\)\([[:digit:]]\{3\}\)/\1,\2,\3/g' 123,456,789
(請注意,這只適用於正好 9 位數字!)
或者這個
sed
:$ echo "123456789" | sed ':a;s/\B[0-9]\{3\}\>/,&/;ta' 123,456,789
與
printf
:$ LC_NUMERIC=en_US printf "%'.f\n" 123456789 123,456,789
bash
’sprintf
幾乎支持你在printf
C 函式中可以做的所有事情type printf # => printf is a shell builtin printf "%'d" 123456 # => 123,456
printf
來自 coreutils 也會做同樣的事情/usr/bin/printf "%'d" 1234567 # => 1,234,567