我花了几个小时搜索如何在铁路tomcat server.xml文件中包含唯一字符串标记</Engine>
的特定行上方插入文本。
我试图逃避
sed -nr '/\<\/Engine\>/p' /opt/railo/tomcat/conf/server.xml
查找此字符串的行号,但我总是收到错误消息。
我的目标是在结束</Engine>
代码上方创建新用户时自动插入新的主机名信息,因为这样可以更轻松地进行维护。
我对文本/字符串操作不太好,我真的很感激这方面的帮助。
谢谢。
答案 0 :(得分:1)
我找到了自己问题的答案。
sed -n '/<\/Engine>/ ='
为我提供了正确的行号。所以我现在可以在我的脚本中使用这种模式。
答案 1 :(得分:0)
以下此命令仅匹配所有与</Engine>
的行匹配,并在其上方放置一行文字
sed '\#^</Engine>$#i\<put_your_text_here>'
<put_your_text_here>
是您将放在此行
另请注意我使用了#34;#&#34;作为sed的分隔符,因为你的字符串有/
以避免冲突
修改
如果标签在或没有空格之前和之后都有空格,您可以尝试
sed '\#^[ ]*</Engine>[ ]*$#i\<put_your_text_here>'