我有一个清单:
rconr01
scordr100
dcver101
ccpcr01
yccr10
scpor01
如何在数字后面的-
前添加短划线r
?
要获得以下列表:
rcon-r01
scord-r100
dcve-r101
ccpc-r01
ycc-r10
scpo-r01
sed
,awk
或perl
。我不知道从哪里开始。
我试过^[r][09]$
,但这已经过了我的脑袋。
答案 0 :(得分:3)
一种方式:
sed 's/r[0-9]/-&/' file
答案 1 :(得分:3)
作为Perl替代:
s/(?=r\d)/-/
可用,如perl -pe's/(?=r\d)/-/' <file
(?=...)
组是预测,当以下字符与模式匹配时,它匹配,但它不会提升位置。我们的模式与字符不匹配,但它匹配r
之前的位置。然后在这个位置替换负数。