用bash打印XML标签



我正在尝试弄清楚如何使用bash在几个XML文件中打印某个行。这些文件位于多个文件夹中。我需要打印的行是一个精确的XML标签 <name></name>

我的目标:

  • 通过文件夹搜索
  • 一行打印文件夹位置
  • 第二行上的打印文件名
  • 打印

    之间的内容

我只需要名称,而不是完整的路径,我确实需要它添加到.txt文件中。香港专业教育学院尝试了bash,但我粘在这一中。

编辑:我还忘了提到这是一件被添加到其他外壳脚本中,所以我不确定我是否可以在其中工作。

处理XML时,更好的方法是使用xmllintxmlstarlet

示例:

find /path -iname '*xml' -exec xmllint --xpath '//name/text()' {} +

将递归地完成技巧。

使用GREP和在目录上递归的正则表达式显示您的文件名(包括路径),其中标签中的标签:

grep -r "<name>.*</name>" /path/to/directory

相关内容

  • 没有找到相关文章

最新更新