创建bash脚本以将xml文件解析为csv

1 xml linux csv bash

我正在尝试创建一个bash脚本来解析xml文件并将其保存到csv文件。

例如:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <List>
    <Job id="1" name="John/>
    <Job id="2" name="Zack"/>
    <Job id="3" name="Bob"/>
</List>
Run Code Online (Sandbox Code Playgroud)

我希望脚本将信息保存到这样的csv文件中:

John | 1
Zack | 2
Bob  | 3
Run Code Online (Sandbox Code Playgroud)

名称和ID将在其他单元格中。

有什么办法可以做到吗?

dev*_*ull 5

你已经张贴类似的查询透水一个。我再次建议使用XML解析器。你可以说:

xmlstarlet sel -t -m //List/Job -v @name -o "|" -v @id -n file.xml
Run Code Online (Sandbox Code Playgroud)

它会回来

John|1
Zack|2
Bob|3
Run Code Online (Sandbox Code Playgroud)

为您的样本数据。

管道输出到sedsed "s/|/\t| /"如果你想让它出现在你的榜样。