Perl 如果行包含字母r,后跟数字

Perl 如果行包含字母r,后跟数字,perl,sed,awk,Perl,Sed,Awk,我有一份清单: rconr01 scordr100 dcver101 ccpcr01 yccr10 scpor01 如何在数字后面的r前面添加破折号-? 要获取以下列表: rcon-r01 scord-r100 dcve-r101 ccpc-r01 ycc-r10 scpo-r01 sed,awk或perl。我不知道从哪里开始 我试过^[r][09]$,但这是我无法理解的。一种方法: sed 's/r[0-9]/-&/' file 单向: sed 's/r[0-9]/-&

我有一份清单:

rconr01
scordr100
dcver101
ccpcr01
yccr10
scpor01
如何在数字后面的
r
前面添加破折号
-
? 要获取以下列表:

rcon-r01
scord-r100
dcve-r101
ccpc-r01
ycc-r10
scpo-r01
sed
awk
perl
。我不知道从哪里开始

我试过
^[r][09]$
,但这是我无法理解的。

一种方法:

 sed 's/r[0-9]/-&/' file
单向:

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

作为Perl替代:

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

可以像
perl-pe/(?=r\d)/-/'一样作为perl替代品使用:

s/(?=r\d)/-/
perl-pe的/(?=r\d)/-/'