sed 更新 xml 文件

sed 更新 xml 文件

我想更新

<MySettingsSettings enabled="false" logFilePath="E:\server.log" />

<MySettingsSettings enabled="true" logFilePath="D:\server.log" />

我如何通过 sed 做到这一点?或者有没有其他方法可以在 Windows 服务器中更新?

答案1

我的建议是,您使用一种能够正确解析和更新 XML/HTML 文档的真正的编程语言。从长远来看,使用 sed 更新 XML/HTML 可能会失败。

答案2

可以按照以下方式对您的示例进行简单替换:

sed -e 's/enabled="true"/enabled="false"/g' -e 's/logFilePath="D:/logFilePath="C:/g' myfile.xml

但是,我同意 Zoredache 的警告,除非您只是在 XML 内部进行非常简单的字符串替换,否则最好使用具有专门用于解析 XML 的库的语言。

“sed one-liner”文件提供了大量方便的 sed 命令:

http://sed.sourceforge.net/sed1line.txt

相关内容