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

标签 xml linux bash csv

我正在尝试创建一个 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>

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

John | 1
Zack | 2
Bob  | 3

名称和 ID 将在不同的单元格中。

有什么办法可以做到这一点吗?

最佳答案

您发布了一个类似于您的 pervious one 的查询.我再次建议使用 XML 解析器。你可以说:

xmlstarlet sel -t -m //List/Job -v @name -o "|" -v @id -n file.xml

它会回来

John|1
Zack|2
Bob|3

用于您的示例数据。

将输出通过管道传输到 sed:sed "s/|/\t|/" 如果您希望它出现示例。

关于xml - 创建 bash 脚本以将 xml 文件解析为 csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21507796/

相关文章:

linux - Bash脚本错误服务器问题

android - 自定义主题背景颜色 : Theme. AppCompat.NoActionBar

css - 如何使用 xml 文件中的 css 设置 id 的样式

python - 使用 JDBC、Python 和 JayDeBeApi 连接到 Filemaker 数据库

c++ - 如何从存储在其他文件夹中的 C++ 运行 linux 可执行文件

c++ - 如何在 Linux/POSIX 中获取任意时区的信息?

linux - Docker 日期的 ISO 时间戳

java - 是否可以映射名称与表列不同的 POJO 字段?

java - 我无法将所有数据从 firebase 获取到我的 Listview

linux - 是否可以用 POSIX sh(1) 复制 cat(1)?