2011-04-23 83 views

回答

1

使用GNU sed的之前插入第一个字母字符后一个冒号和一个冒号Ubuntu 10.04.2 LTS:

sed -r -e 's/([a-zA-Z]{3,5})([0-9]{3})/\1:\2/g' 

编辑:误读OP的问题。更好的回答:

sed -r -e 's/([a-zA-Z])([a-zA-Z]{2,4})([0-9]{3})/\1:\2:\3/g' 
+0

非常感谢您的快速回复! – arctech 2011-04-23 21:53:22

+0

如果你期望字符串'abcdef123'或'abcde1234'失败,你可能需要修改正则表达式以包含字边界,如下所示:'sed -r's /(\ <[a-zA-Z])( [A-ZA-Z] {2,4})([0-9] {3} \>)/ \ 1:\ 2:\ 3/g' – potong 2011-10-31 12:08:40