shell脚本解析xml节点
时间: 2023-11-14 18:08:46 浏览: 112
shell 解析xml
可以使用awk命令来解析xml节点,具体步骤如下:
1. 将xml文件转换为单行文本,方便后续处理。可以使用sed命令将所有换行符替换为空格,例如:
```
sed ':a;N;$!ba;s/\n/ /g' input.xml > output.txt
```
2. 使用awk命令来解析xml节点。假设我们要解析的节点为`<book>`,则可以使用以下命令:
```
awk -v RS="<book>" -v FS="</?[^>]+>" '{print $2}' output.txt
```
解释一下上面的命令:
- `-v RS="<book>"`:将输入文件的记录分隔符设置为`<book>`,这样每个记录就是一个`<book>`节点。
- `-v FS="</?[^>]+>"`:将每个记录的字段分隔符设置为`<`或`</`加上任意非`>`字符,这样每个字段就是一个xml标签或者标签内容。
- `'{print $2}'`:输出每个记录的第二个字段,也就是`<book>`节点的内容。
如果要解析其他节点,只需要将上面的命令中的`<book>`替换为相应的节点名即可。
阅读全文