【发布时间】:2015-08-22 18:34:31
【问题描述】:
我有以下字符串
<dataSource jndiName="worklightconsole/jdbc/WorklightDS" transactional="false">
我想用“app”替换“worklightconsole”这个词,以便输出如下所示
<dataSource jndiName="app/jdbc/WorklightDS" transactional="false">
我使用“sed”尝试了以下(以及其他几个选项),但无法使其工作
sed -e 's/\<dataSource\ jndiName=\".*\//\dataSource\ jndiName=\"app\//g'
我得到了输出
<dataSource jndiName="app/WorklightDS" transactional="false">
它没有替换单词“worklightconsole”,而是用“app”替换了“worklightconsole/jdbc”
我做错了什么以及 sed 中的 '.*' 是什么意思?
【问题讨论】:
-
我认为你可以使用
s/jndiName=\"[^\"\/]+/jndiName=\"app/g;)。