【发布时间】:2018-12-28 10:05:57
【问题描述】:
我正在尝试将数字列表替换为“a”字母。
我已经能够在在线正则表达式测试器中执行此操作,您可以找到 here。
示例:123,456,789 ==> 123,a,a
但是,我把它翻译成 sed 命令,就像这样,它不起作用。
echo "123,456,789" | sed 's/\(\d*\)\(,\d*\)/\1,a/g'
产生:
123,a456,a789
我错过了什么吗?
【问题讨论】:
-
使用
sed 's/\([0-9]*\)\(,[0-9]*\)/\1,a/g' -
还要注意
echo "123,456,ABC" | sed 's/\([0-9]*\)\(,[0-9]*\)/\1,a/g'将给出123,a,aABC,因为*量词匹配零或更多
标签: regex bash shell sed replaceall