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