私がするとき、私は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 :aa: コマンド用の名前のラベルを作成しtます。taa:置換が成功した場合にジャンプします。