使用 sed 搜索和替换多位数字

ser*_*gey 3 sed

我有以下文件列表:

r1 r2 10 r11 r99
Run Code Online (Sandbox Code Playgroud)

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

我正在寻找的结果:

 rA rA  rA  rA  rA
Run Code Online (Sandbox Code Playgroud)

使用以下 sed 命令我可以匹配文件 r1 r2 但不能匹配 r10 r11 和 r99

   ls | sed -e 's/r[0-9]/rA/'
Run Code Online (Sandbox Code Playgroud)

它为我提供了以下输出:

rA
rA0
rA1
rA
rA9
Run Code Online (Sandbox Code Playgroud)

如果有人能指出我在 sed 搜索模式中缺少的内容,我将不胜感激,sed 是否可以用来匹配多个数字?

谢谢。

ste*_*iva 5

[0-9]将匹配一位数字。

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

您可能想要[0-9]\+匹配一位或多位数字。

您还可以用于[0-9]\{1,\}匹配一位或多位数字。

  • 谢谢,这对我有用 `sed -e 's/r[0-9]\{1,\}/rA/'` (3认同)