xml - 使用 linux 实用程序从文件中提取正则表达式。在单独的行上打印每个匹配项

标签 xml regex linux sed awk

我正在尝试使用正则表达式从文件中提取值。

我有 2 个 xml 文件。每个都由许多热点组成,这些热点具有属性 XY,(坐标),例如:

 <HOTSPOT ID="476" NAME="19.328" MEDIATYPE="url" MEDIA="/flash/hiddenHotspot.png" X="1427" Y="1989" WIDTH="280" HEIGHT="280" ZOOM="83" XSCALE="300" YSCALE="300" URL="/archive/manuscripts/1/decode?detail=476&amp;page=0" URLTARGET="_self" ROLLOVER="0" CAPTION="328" TOOLTIP="">
    <TOOLTIP>&lt;b&gt;19.328&lt;/b&gt;.&lt;br&gt;&lt;p class="poem1"&gt;In the Year 10 House, on the Day 11 Monkey,&lt;/p&gt;</TOOLTIP>
  </HOTSPOT>

我试图从文件中提取 X 值。我从 grep 开始,但它返回了完整的行。我的正则表达式只是 /X="([0-9]+)"/。我在 ubuntu 12.04 上。我确信这些内置实用程序之一可以提供帮助,但我一直无法找到哪一个。

有没有一种方法可以使用 linux 实用程序将正则表达式的匹配项打印到标准输出?每场比赛都应该在单独的一行上?有人可以指出我正确的方向吗?泰。

最佳答案

使用 grep -o使用正则表达式模式 (?<=\bX=")([^"]+)(?=")

关于xml - 使用 linux 实用程序从文件中提取正则表达式。在单独的行上打印每个匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12429389/

相关文章:

xml - 使用 Perl XML::Twig 处理程序处理大文件的内存使用效率低下

xml - 如何在 GtkBuilder 的 XML *.ui 文件中使用 GTK+3 GtkImage

c# - 未分组和重复的 XML 元素的 LINQ/Xpath 查询

java - Smooks EDI 解析 - 重复段

java - 在 Java 中用特殊字符前面的转义符替换特殊字符

java - 正则表达式可以在 Notepad++ 中工作,但不能在 Java 中工作

regex - Visual Studio - 用正则表达式替换文本

linux - 谁能告诉我为什么 Apache 对我的 Django 不起作用?

android - Android是否支持虚拟内存

linux - 为什么 ((counter++)) 在 counter == 0 时失败?