将 Tomcat 中的服务器标头替换为 sed



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

sed -ir 's/(?<=server="((.*((?="(/IAmATeaPot/g' ./checktext.xml

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

连接器端口="8080" ... 服务器="Apache"/>

并将其更改为:

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

我的正则表达式适当地捕获了引号中的字符串,并在在线正则表达式检查器中工作,但是没有任何反应,也没有收到任何错误。知道我做错了什么吗?

我认为这将完成更干净的工作,而不必处理前瞻和后视。

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

您正在寻找server=",然后是 0 个或多个非"字符,然后是结束",然后用server="IAmATeapot"替换整个内容。

最新更新