如何使用sed替换2个字符串之间的下划线,如下例所示:
xxx ccc vvv bbb 333 444 555
^ ^ ^ ^^^^^^^^ ^^ ^^ <--- spaces visualized for easier counting
期望的输出:
xxx_ccc_vvv_bbb 333 444 555
答案 0 :(得分:3)
这很简单,你只需要用带有下划线的单词边界(g
)包围的单个空白字符(s
)的全局(\s
)替换(\b
) (_
):
sed 's/\b\s\b/_/g'
您的示例可以像这样运行:
echo "xxx ccc vvv bbb 333 444 555" | sed 's/\b\s\b/_/g'
产生你想要的输出:
xxx_ccc_vvv_bbb 333 444 555