我有一个xml文件
<?xml version="1.0"?>
<preferences>
<!--General options-->
<options>
<dbHost>localhost</dbHost>
<dbUser>bwserver</dbUser>
<dbPass>bwserver</dbPass>
<dbPort>3306</dbPort>
如何更新值dbUser?
当我输入
xmlstarlet edit --update '/preferences/options/dbUser/' --value 123 preferences.xml
没有任何反应。我只看到终端中的文件内容。没有触及xml文件。
答案 0 :(得分:7)
你有两个错误:
/preferences/options/dbUser
xmlstarlet edit --update '/preferences/options/dbUser' --value 123 preferences.xml > preferences.xml
来将原始文件替换为xmlstarlet输出,也可以使用全局选项--inplace
将输入文件替换为输出(而不是将其打印到stdin)。命令为xmlstarlet edit --inplace --update '/preferences/options/dbUser' --value 123 preferences.xml
输入xmlstarlet edit --help
了解详情