xml - 创建 Bash 脚本以从 XML 文件检索数据

标签 xml linux bash

我有一个像这样的 XML 文件:

<?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>

我想创建一个 bash 脚本,从特定名称中提取 ID 号。例如,请求 John 将输出 1。我有什么办法可以做到这一点吗?

最佳答案

解析 XML 文件时,请使用理解 xml 的工具。您可以使用 xmlstarlet :

例如说:

xmlstarlet sel -t -v "/List/Job[@name=\"John\"]/@id" file.xml

会产生

1

顺便说一句,您的输入格式不正确。您缺少引号

<Job id="1" name="John/>

应该是

<Job id="1" name="John"/>

关于xml - 创建 Bash 脚本以从 XML 文件检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21495533/

相关文章:

bash - 检查 Shell 脚本 $1 是绝对路径还是相对路径

java - 如何从xml文档中插入数据到postgresql?

android - 操作栏不显示菜单项

linux - 如何使用 mutt 在程序完成时向我发送通知

ruby - 无法在 RedHat 7 上安装 Compass

linux - 如何仅在 bash 中捕获导出 1

python - 带有 django 模板变量的 xslt

php - 将涉及同名重复元素的数据发送到 SOAP API

linux - bash 脚本检查数组元素是否为 Linux 命令

bash - 文件名末尾的 Shell 脚本不需要的 '?' 字符