用sed替换Tomcat中的服务器头

时间:2018-10-04 00:20:01

标签: regex sed

我正在尝试自动替换Apache Tomcat中的服务器标头,以防止告诉别人我正在使用Apache。我目前正在使用sed尝试完成此操作。我正在运行以下命令:

sed -ir's /(?<= server =“)(。*)(?=”)/ IAmATeaPot / g'./checktext.xml

我正在尝试运行当前读取的命令的同一目录中更改checktext.xml

连接器端口=“ 8080” ...             server =“ Apache” />

并将其更改为:

连接器端口=“ 8080” ...             server =“ IAmATeaPot” />

我的正则表达式可以正确地将引号内的字符串捕获并在正则表达式检查器中在线运行,但是什么也没有发生,并且我也没有收到任何错误。知道我在做什么错吗?

1 个答案:

答案 0 :(得分:2)

我认为这将做得更加干净,而不必处理前瞻性和后顾之忧。

s/server="[^"]*"/server="IAmATeapot"/

您要查找server=",然后是0个或多个非"字符,然后是结尾的",然后用server="IAmATeapot"替换整个内容。