【问题标题】:need script to add line to xml file需要脚本将行添加到 xml 文件
【发布时间】:2011-09-12 18:03:46
【问题描述】:

对于所有包含如下行的文件:

 <class name="blahblahblah" foo="bar" fooz="baz">

我想在之后添加这一行。

 <cache usage="read-write">

搜索的关键文本是

  <class name=

我可以为此访问 bash shell。

谢谢!

【问题讨论】:

  • 请使用适当的 XML 工具。 Sed 和 grep 不适合处理 XML;它可能看起来像纯文本,但看起来是骗人的。
  • 谢谢,拉尔斯曼。但是,在这个问题中没有任何特定于 XML 的内容。我只需要在文件的某个点添加一行文本。

标签: bash shell sed awk grep


【解决方案1】:

试试这个:

sed -i '/<class name=*/ a\
<cache usage="read-write">' filename.xml

记住它只是一个命令。 -i 选项(--in-place)更改给定文件(就地)。

【讨论】:

    【解决方案2】:

    可以选择 Awk 吗?

    awk '{ print; if ($0 ~ "<class name=") print "<cache usage=\"read-write\">"; }'
    

    (尽管我仍然强烈反对在 XML 文件上使用面向行的工具。从长远来看,一个体面的 XML 工具集可以为您省去很多麻烦。)

    【讨论】:

      猜你喜欢
      • 2018-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多