搜索冒号时,Sed优先

时间:2019-03-07 14:49:25

标签: regex sed

我需要搜索冒号“:”的每个实例,然后在该冒号之前的单词前添加一个字符串。

示例:

一些数据在这里word:number

所需结果:

此处一些数据prepend_word:number

我尝试过:

 sed "s/:/s/^/prepend_/g"

这会将prepend_添加到行的开头: prepend_some data here word:number

sed "s/:/prepend_&/g"

这会在冒号之前添加prepend_:一些数据在这里wordprepend_:number

1 个答案:

答案 0 :(得分:2)

您需要使用

the_div, the_mod = divmod(quantity, 5)

sed 's/[^[:space:]]*:/prepend_&/g' 模式将搜索0个或多个非空格字符,其后是一个[^[:space:]]*:,而:替换模式将用其自身替换匹配项(请参见{{1} }),然后在其前面插入prepend_&

查看online sed demo

&

输出:prepend_