用于替换文本值的xmlstarlet

时间:2017-04-25 15:52:26

标签: bash awk sed xmlstarlet

我成功使用xmlstarlet来替换XML节点中的值。

xmlstarlet ed -u //author[text()='Gambardella, Matthew'] -v 'Gambardella' bookstore.xml
    <catalog>
       <book id="bk101">
          <author>Gambardella, Matthew</author>
          <title>XML Developer's Guide</title>
          <genre>Computer</genre>
          <price>44.95</price>
          <publish_date>2000-10-01</publish_date>
          <description>An in-depth look at creating applications 
          with XML.</description>
       </book>

我没有找到办法,在批处理模式下执行此操作,说我想替换fileA.txt中找到的许多作者值:

valueoriginal1
valueoriginal2
valueoriginal3
...

的值为fileB.txt

valuereplacement1
valuereplacement2
valuereplacement3
...

并且还有另一个文件,一个日志文件,更改了多少次更改,未更改的内容,以及每次更换的特定书籍ID ...也许我应该使用其他工具,如sed或awk for this?

0 个答案:

没有答案