替换所有捕获的组,但首先在 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
我正在尝试将数字列表替换为 "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