如何使用sed替换两个字符串之间的空白

如何使用sed替换两个字符串之间的空白,sed,replace,Sed,Replace,如何使用sed在两个字符串之间替换下划线的单个空格,如下面的示例所示: xxx ccc vvv bbb 333 444 555 ^ ^ ^ ^^^^^^^^ ^^ ^^ <--- spaces visualized for easier counting 这很简单,只需将单个空白字符(\s)进行全局(g)替换(s),并用下划线(\b)包围单词边界(\b): 您的示例可以这样运行: echo "xxx ccc vvv bbb 3

如何使用sed在两个字符串之间替换下划线的单个空格,如下面的示例所示:

xxx ccc vvv bbb        333  444  555
   ^   ^   ^   ^^^^^^^^   ^^   ^^   <--- spaces visualized for easier counting

这很简单,只需将单个空白字符(
\s
)进行全局(
g
)替换(
s
),并用下划线(
\b
)包围单词边界(
\b
):

您的示例可以这样运行:

echo "xxx ccc vvv bbb        333  444  555" | sed 's/\b\s\b/_/g'  
这将生成所需的输出:


这很简单,只需将单个空白字符(
\s
)进行全局(
g
)替换(
s
),并用下划线(
\b
)包围单词边界(
\b
):

您的示例可以这样运行:

echo "xxx ccc vvv bbb        333  444  555" | 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