替换所有捕获的组,但首先在 sed 中

Replace all captured groups but first in sed

我正在尝试将数字列表替换为 "a" 个字母。

我已经能够在在线正则表达式测试器中执行此操作,您可以找到 here

Example: 123,456,789 ==> 123,a,a

但是,我把它翻译成 sed 命令,像这样,但它不起作用。

echo "123,456,789" | sed 's/\(\d*\)\(,\d*\)/,a/g'

产生:

123,a456,a789

我是不是漏掉了什么?

这个简单的 sed 可能会对您有所帮助:

$ sed -r 's/,[0-9]+/,a/g' <<< "123,456,789"
123,a,a