当我这样做时,ls -l
我得到
-rw-r--r-- 1 jboss admin **26644936** Sep 1 21:23 MyBig.war
我如何打印如下
-rw-r--r-- 1 jboss admin **26,644,936** Sep 1 21:23 MyBig.war
使用sed
:
$ ls_output='-rw-r--r-- 1 jboss admin 26644936 Sep 1 21:23 MyBig.war'
$ echo $ls_output | sed -e :a -e 's/\(.*[0-9]\)\([0-9]\{3\}\)/\1,\2/;ta'
-rw-r--r-- 1 jboss admin 26,644,936 Sep 1 21:23 MyBig.war
####
上面的 sed 命令反复用.替换最后 4 位数字#,###
。
-e :a
a
:为t
命令创建一个标签。ta
a
:如果替换成功则跳转。