Sed在每个数字后替换字符

SSc*_*oll 2 regex sed

我想用sed替换每个整数后面的字符.

例:

444 d 应该去: 444,d

编辑:stribizhev的答案帮助我找到了sed(GNU sed)4.2.2的解决方案

sed -r 's/([0-9]+)./\1,/g'

用逗号替换数字后的任意字符.唯一的问题是,该行末尾的数字还会创建一个额外的逗号.

Wik*_*żew 5

您可以使用捕获组来执行此操作:

sed 's/\(\d\+\)./\1,/g'
Run Code Online (Sandbox Code Playgroud)

或者(因为使用GNU sed,您可以通过使用扩展正则表达式来避免所有转义括号)

sed -r 's/([0-9]+)./\1,/g'
Run Code Online (Sandbox Code Playgroud)

这是一个演示正则表达式演示.

[0-9]+模式匹配一​​个整数(不带小数),即使在较长的字符串内也可以使用较长的字符串.