如何使用
server=”I am a teapot"
在 <Connector
之后和 Port=...
之前添加参数扩展 sed
?
添加前:
<Connector Port=8080
添加后:
<Connector server=”I am a teapot" Port=8080
sed
的简单替换形式使用两个捕获组来捕获空格之前和之后的文本,然后在两个反向引用之间插入新文本(例如\1
和\2
)就可以了,例如
sed -E 's/^([^[:space:]]+[[:space:]])(.*$)/\1server="I am a teapot" \2/'
示例使用/输出
您只需将信息通过管道传输到
sed
即可查看其工作情况,
echo "<Connector Port=8080" | sed -E 's/^([^[:space:]]+[[:space:]])(.*$)/\1server="I am a teapot" \2/'
<Connector server="I am a teapot" Port=8080
如果您的
sed
不支持-E
(ERE - 扩展正则表达式),您也可以使用基本正则表达式(BRE)。 (您只需省略括号并将 +
替换为 *
)如果您还有其他问题,请告诉我。