将正则表达式匹配的单词替换为单词的修改版本

时间:2018-12-10 22:53:29

标签: regex sed replace pattern-matching match

我正在尝试用正则表达式替换找到的10位数字,并在该单词前加上“ abc”。例如,如果匹配的数字是0123456789,我想用abc0123456789代替该单词。

谷歌搜索,我发现sed对于替换文件中的单词很有用-

sed -i '' -e 's/[0-9]\{10\}/new-word/g' *.csv

此命令成功地将我的10位数字实例替换为“ new_word”。如何将其替换为“ abc + [matched word]” ?

1 个答案:

答案 0 :(得分:0)

使用括号创建“匹配的捕获组”。要引用第一组,请使用terminated by signal SIGSEGV (Address boundary error),依此类推:

\1

或使用s/\([0-9]\{10\}\)/abc\1/g 代表“整个匹配部分”:

&