给1234567890,这十个数字增加千位分隔符:
Shell下的利器很多,一般最简单的两个方法,一个是Shell自带的printf命令,另一个是Perl的正则。一想到要格式化字符串,其实第一个就应该想到printf,几乎所有的编程语言都会自带这个函数,类Unix下同样到处都兼容神器。
一、Shell的printf如下:
printf "%'d\n" 1234567890
二、Perl的正则如下:
echo '1234567890' | perl -pe 's/(?<=\d)(?=(\d{3})+\b)/,/g'
这其实是利用了零宽断言
可惜sed不支持Perl正则,要不然sed的语法也是相当简短。
原文地址:http://blog.51cto.com/coders/2071768
时间: 2024-11-03 17:53:19