因为正则匹配的时候就是这样的。
看这个:
s/\(.*[0-9]\)\([0-9]\{3\}\)/\1,\2/
\(.*[0-9]\) --> 这是一个组,后面用\1来原封不动地引用
\([0-9]\{3\}\) --> 这又是一个组,后面用\2来原封不动地引用
第一个组匹配以一位数字结尾的任意字符串,第二个组匹配连续的3个数字。
.*是贪婪的,所以,最先匹配得到的是 1234567,890
t start --> 跳转到start继续执行,这就是sed中使用循环语句的典型方法。
这个应该是从右边依次每隔三个一路向左处理过来的.
.* 是贪婪,不太了解sed 正则