xmlstarlet - concat多行值

时间:2013-02-20 06:10:52

标签: linux xml

拥有xmlstarlet 1.3.1。

给定file.xml:

<entry>
  <message>Line 1
  Line 2 and so on
  </message>
</entry>

如何选择消息并在一行中显示其值,而新行替换为&#34; @&#34;如下:

Line 1@Line 2 and so on

1 个答案:

答案 0 :(得分:1)

xmlstarlet sel -t -v "/entry/message" file.xml | tr -s "\n" "@"

请注意,示例中的之后还有一个新行。