使用 Powershell 查找文件中的多行模式

2023-11-23

如何使用 Powershell 在文件中查找多行模式,例如 XML 节点的内容?

也就是说,如果我正在寻找“绿色”这个词deviceDescription节点,但 XML 节点文本可能跨越多行,这是行不通的:

dir -r -i *.xml | select-string -Pattern "<deviceDescription>.*green.*</deviceDescription>"

首先,如果是 xml,则提取设备描述字符串,将其视为此类,然后匹配所需的字符串,在本例中为绿色。

$x = [xml] (gc .\test.xml)
$x.deviceDescription -match "green"

如果你不想走那条路,你将不得不使用?s- 单行或 dotall 标志,使 * 匹配换行符:

$x = [IO.File]::ReadAllText("C:\test.xml")
$x -match "(?s)<deviceDescription>.*green.*</deviceDescription>"

请注意,您可能想要使用.*?或者这可能跨越多个 deviceDescription 标签。像这样的边缘情况是您应该避免使用正则表达式来处理此类事情的原因。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Powershell 查找文件中的多行模式 的相关文章

随机推荐

  • Clion 无法识别我的快速工具链路径

    我正在尝试为 swift 项目配置 clion 但它无法识别 swift 工具链路径 which swift 产生输出 usr bin swift bin swift 所以工具链就在那里 但 clion 只是不认识它 我该如何进行这项工作
  • jQuery 工具提示 onClick?

    我已经找了很长时间了 似乎找不到一个使用以下内容的 jQuery 工具提示插件 onClick 代替hover 使其像切换按钮一样工作 淡入淡出 使用工具提示的想法是 我有一些想要在其中显示内容的链接 虽然普通的工具提示 这可能是我出错的地
  • 如何在 Windows 上安装 pip?

    pip是替代品easy install 但我应该安装pip using easy install在 Windows 上 有没有更好的办法 Python 3 4 和 2 7 9 好消息 Python 3 4 2014 年 3 月发布 和Pyt
  • MySQL 表的主键是否应该公开?

    我有许多描述模型的 MySQL 表 例如 用户 业务 等 这些表的主键是否应该暴露给客户端 我主要是从安全角度来问 但是还有其他我没有想到的考虑因素吗 暴露您的主键 特别是如果它们是可预测的 是一个称为不安全直接对象引用的漏洞 通过使用如下
  • 如何设置 NSDate 上的时间?

    我想用我想要的小时 分钟 秒设置 NSDate 时间 目前我正在使用 NSDate 组件 但它没有给出期望的结果 comps setHour hours comps setMinute 0 comps setSecond 0 NSDate
  • 有人有 SourceForge 的 Xselerator XSL IDE 副本吗? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 我多年来一直使用 Marrowsoft Xselera
  • 使用 python pandas 比较两个 csv 文件

    我有两个 csv 文件 均由两列组成 第一个具有产品 ID 第二个具有序列号 我需要查找第一个 csv 中的所有序列号 并在第二个 csv 上查找匹配项 结果报告将在单独的列中包含匹配的序列号以及每个 csv 中相应的产品 ID 我确实修改
  • ASP.NET MVC 4 C# HttpPostedFileBase,如何存储文件

    Model public partial class Assignment public Assignment this CourseAvailables new HashSet
  • 我可以使用 Boost.Asio 在多线程 I/O 服务上同步读取套接字并设置超时吗?

    我有一个使用 Boost Asio 进行 TCP 和 UDP 套接字通信的应用程序 我知道 Asio 中的 A 代表异步 因此该库致力于鼓励您尽可能使用异步 I O 我有一些情况 同步套接字读取更可取 但与此同时 我想为所述接收调用设置超时
  • created_at 字段有时会变成 nil

    I think created at总是设置为ActiveRecord创建记录的时间 但我发现有些记录是用null创建的created at 有什么条件可以导致这种情况吗 这些列created at updated at created o
  • 使用 google-rfc-2445 (iCalendar) 时,某些情况下会返回开始日期

    我运行了很多 RRULE 只是为了测试性能谷歌 rfc 2445 Java 实现IETF RFC 2445 日历 我发现在某些情况下我在方法的返回列表中得到了开始日期 测试非常简单 private static void runGoogle
  • ReactJS中如何处理多选表单

    我尝试处理一个多种表单选择选项 在 ReactJS 中 我试图激发 javascript 经典代码的灵感来处理这个问题 但我失败了 我的代码只是不向我发送所选的值 怎么处理呢 这是我的代码 class ChooseYourCharacter
  • 如何在 ExtJS 4 中实现流程布局?

    我想使用一种布局 其中组件像 hbox 一样水平添加 但在添加时 如果组件超出容器的边界 则会移动到下一行 这与swing和flex中的FlowLayout类似 我在 ExtJS 4 0 中找不到任何可以实现此目的的布局 所以我想知道我将如
  • 如何使两个函数参数隐式

    假设我们有一个以函数作为参数的对象apply method object Wrapper def apply block TypeA gt String TypeA a block a TypeA是应用程序的域类型 现在 当我定义内联块时
  • JavaFX ScrollPane 以编程方式移动视口 - 使内容居中

    我可以使用 setVvalue double 和 setHvalue double 方法在 JavaFX ScrollPane 中移动视口 我正在努力做的是根据其位置将特定节点置于滚动窗格内容的中心 我尝试过 localToScene 和b
  • 如果未定义索引操作返回视图还是副本,那么 pandas 中的视图有何意义?

    我已经从 R 切换到 pandas 当我做类似的事情时 我经常得到SettingWithCopyWarnings df a pd DataFrame col1 1 2 3 4 Filtering step which may or may
  • 防止 ImageMagick 转换为灰度

    我在 Windows 上使用 ImageMagick 6 9 1 调整 PNG 文件的大小 然后再使用其他工具处理它 源文件是 RGBA 但图像数据是灰度 所有像素的 R G 和 B 值相同 看来 ImageMagick 正在检测到这一点
  • 带睡眠和不带睡眠的递归异步

    我有两个版本的异步函数 async function asyncRecurseOne i try console log i i i 1 await asyncRecurseOne i catch ex console log ex asy
  • 将元胞数组的元胞数组转换为矩阵的矩阵

    我可以将矩阵元胞数组转换为矩阵 gt gt C 1 1 2 2 3 3 gt gt cell2mat C ans 1 1 2 2 3 3 还行吧 但是 我想将包含其他元胞数组的元胞数组转换为矩阵 gt gt C 1 1 2 2 3 3 gt
  • 使用 Powershell 查找文件中的多行模式

    如何使用 Powershell 在文件中查找多行模式 例如 XML 节点的内容 也就是说 如果我正在寻找 绿色 这个词deviceDescription节点 但 XML 节点文本可能跨越多行 这是行不通的 dir r i xml selec