1

当我这样做时,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
4

2 回答 2

3
于 2013-09-04T04:29:39.580 回答
1

使用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 :aa:为t命令创建一个标签。
  • taa:如果替换成功则跳转。
于 2013-09-04T04:24:13.470 回答