使用sed进行多位数的查找和替换

3

i have the following list of files:

r1 r2 10 r11 r99

我正在尝试替换ls输出中文件名中r后面的所有数字。

我要求的结果是:

 rA rA  rA  rA  rA

使用以下的sed命令,我可以匹配到文件r1和r2,但无法匹配到r10、r11和r99。
   ls | sed -e 's/r[0-9]/rA/'

它为我提供了以下输出:
rA
rA0
rA1
rA
rA9

感谢您能指出我在sed搜索模式中缺少的内容,sed能否用于匹配多位数数字?谢谢。
1个回答

4

[0-9]会匹配一个数字。

[0-9]*会匹配零个或多个数字。

你可能想要使用[0-9]\+,它将匹配一个或多个数字。

你也可以使用[0-9]\{1,\}来匹配一个或多个数字。


3
谢谢,这对我很有效。 sed -e 's/r[0-9]\{1,\}/rA/' - sergey
1
如果满足您的问题,请标记答案 - Ayoub_Prog
1
@sergey 谢谢。我都快疯了。对我来说,使用\+没有起作用。 - Joao Sousa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接