2013-04-26 62 views
0

我有一個列表:如果行包含字母r後跟數字

rconr01 
scordr100 
dcver101 
ccpcr01 
yccr10 
scpor01 

我怎麼會在下面了一批r的前面加一個破折號-? 得到以下列表:

rcon-r01 
scord-r100 
dcve-r101 
ccpc-r01 
ycc-r10 
scpo-r01 

sedawkperl。我不知道從哪裏開始。

我試過^[r][09]$但這已經過去了。

+1

's /(r \ d +)/ - \ 1 /'? – 2013-04-26 16:50:40

回答

3

一種方式:

sed 's/r[0-9]/-&/' file 
+0

我的天啊,你是一位上師。 – mrlayance 2013-04-26 16:55:49

3

作爲一個Perl取代:

s/(?=r\d)/-/ 

可用像perl -pe's/(?=r\d)/-/' <file

(?=...)基是先行,它當下列字符匹配匹配模式,但它並沒有提升這個位置。我們的模式與字符不匹配,但匹配r之前的位置。然後在此位置替換負號。

相關問題