如何使用bash从xml中提取信息

时间:2014-07-05 12:42:22

标签: xml bash

我有这个xml,我需要提取主机,端口,用户,传递。 EX:

host1 port1 user1 pass1

host2 port2 user2 pass2

我试图这样做,但问题在于让它们按照正确的顺序排列,谢谢你的帮助。

<Server>
            <Host>host1</Host>
            <Port>port1</Port>
            <User>user1</User>
            <Pass>pass1</Pass>
</Server>
<Server>
            <Host>host2</Host>
            <Port>port2</Port>
            <User>user2</User>
            <Pass>pass2</Pass>
</Server>

1 个答案:

答案 0 :(得分:0)

使用GNU核心实用程序的GNU sed和paste:

sed -n "/<Server>/,/<\/Server>/{s/.*>\(.*\)<.*/\1/p}" < filename | paste -d " " - - - -

输出:

host1 port1 user1 pass1
host2 port2 user2 pass2