Powershell 文本搜索 - 多个匹配项

2024-01-04

我有一组 .txt 文件,其中包含以下一个或两个字符串。

"red", "blue", "green", "orange", "purple", ....列表中还有更多(50 多种)可能性。

如果有帮助,我可以判断 .txt 文件是否包含一项或两项,但不知道它们是哪一项。字符串模式始终位于其自己的行上。

我希望脚本具体告诉我它找到的哪一个或两个字符串匹配(来自主列表),以及找到它们的顺序。 (哪个是第一个)

由于我有很多文本文件需要搜索,因此我想在搜索时将输出结果写入 CSV 文件。

FILENAME1,first_match,second_match

file1.txt,blue,red
file2.txt,red, blue
file3.txt,orange,
file4.txt,purple,red
file5.txt,purple,
...

我尝试过使用很多个人Select-Strings返回布尔结果来设置与找到的任何匹配项的变量,但是随着可能的字符串数量的增加,它很快就会变得丑陋。我对这个问题的搜索结果没有给我提供新的想法来尝试。 (我确信我没有以正确的方式问)

我需要循环遍历每个文件中的每一行文本吗?

我是否坚持通过检查每个搜索字符串是否存在来消除方法的过程?

我正在寻找一种更优雅的方法来解决这个问题。 (如果存在的话)


不是很直观但很优雅......

以下 switch 语句

$regex = "(purple|blue|red)"

Get-ChildItem $env:TEMP\test\*.txt | Foreach-Object{
    $result = $_.FullName
    switch -Regex -File $_
    {
        $regex {$result = "$($result),$($matches[1])"}
    }
    $result
}

returns

C:\Users\Lieven Keersmaekers\AppData\Local\Temp\test\file1.txt,blue,red
C:\Users\Lieven Keersmaekers\AppData\Local\Temp\test\file2.txt,red,blue

where

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

Powershell 文本搜索 - 多个匹配项 的相关文章

随机推荐

  • 属性错误:“对象没有属性”

    我有一个问题 我正在使用 python 3 编写代码 该代码是将网站的新闻发布到我的画布上 但是我不断收到此错误 其中显示 AttributeError NewsFeed 对象没有属性 canvas 这是我的代码 from tkinter
  • 查询将行数据显示为列

    我需要一个查询来执行行记录作为列 例如 行保存数据为 101 102 103 104 结果应该是 101 102 103 104 你可以检查切换sql中的行和列 http www simple talk com sql t sql prog
  • 如何高效生成Zipf分布数?

    我目前正在对 C 中的一些数据结构进行基准测试 我想在处理 Zipf 分布式数字时测试它们 我正在使用此网站上提供的生成器 http www cse usf edu christen tools toolpage html http www
  • 在c中交换两个结构

    您好 我正在尝试创建一个交换函数来交换结构的前两个元素 有人可以告诉我如何进行这项工作吗 void swap struct StudentRecord A struct StudentRecord B struct StudentRecor
  • 在 VSCode 中关闭提交消息文件时,Git 挂起并显示“提示:正在等待编辑器关闭文件...”

    我在跑git commit amend在 VSCode 终端中 它会在 VSCode 编辑器窗口中以文件形式弹出提交消息 并且 git 会说 在终端中 hint Waiting for your editor to close the fi
  • 有没有办法自定义ViewPager滚动的阈值?

    我无法找到更改 ViewPager 中滚动页面的触摸阈值的方法 http developer android com reference android support v4 view ViewPager html http develop
  • 获取上次重新启动时间[重复]

    这个问题在这里已经有答案了 可能的重复 显示构建日期 https stackoverflow com questions 1600962 displaying the build date 如何知道 Windows 何时启动或关闭 http
  • 声明全局静态变量

    我正在尝试在 Visual Studio 中设置全局变量 但无法将其设为静态 有什么方法可以让我将变量设置为静态并在不同的方法之间共享它 或者有什么方法可以在每次更改时保存变量 您有两个选择 1 创建一个包含共享变量的类 这与 C 中的静态
  • 摆脱新 Android 上的旧应用程序图标

    前段时间我做了一个简单的 Android 应用程序 一个上传数据的共享意图处理程序 现在我为它设计了一个新的 SVG 图标 以矢量图形导入到项目中 然后使用 InkScape 转换为一系列 PNG 并替换项目中的所有 PNG 该应用程序现在
  • 使用 SparkSession 或 sqlcontext 时出错

    我是火花新手 我只是想使用sparksession 或sqlcontext 解析json 文件 但每当我运行它们时 我都会收到以下错误 Exception in thread main java lang NoSuchMethodError
  • 无法在 /usr/bin 内部创建符号链接,即使使用 sudo [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 当我尝试对 usr bin 文件夹中的二进制文件进行符号链接时 出现 操作不允许 错误 sudo ln s usr bin python2
  • 在两个进程之间交换大量数据的最有效方法是什么?

    最近我正在为一个软件构建DVR http en wikipedia org wiki Digital video recorder 它将安装在插入了 2 个或更多 PCIE x4 视频编码器卡的 x86 PC 服务器上 我们有两个独立的进程
  • 单击标签时阻止 select2 打开

    这个问题演变成了阻止按下回车键时打开下拉菜单 正如你所看到的 我丑陋的解决方案用一个关闭下拉菜单setTimeout当标签输入具有焦点时按 Enter 键 如何防止它在输入时完全打开 而不是在打开后关闭它 以下是一些可能有用的事件 http
  • 顶部“xterm”:未知终端类型

    运行 TOP 命令时出现错误 gt top xterm unknown terminal type gt echo TERM xterm gt echo DISPLAY DYSPLAY Undefined variable gt cat e
  • 当 HTML5 搜索输入可见时,嵌入的 YouTube 视频无法在 iPad (iOS 7) 上播放

    这是一个错误 我已经设法通过暴力修复 但我不明白为什么该解决方案有效 问题在于 嵌入式 YouTube 视频无法在 iPad 在 iOS7 中测试 的横向视图中的特定 响应式 网站上运行 我设法将其范围缩小到一个特定的 CSS 规则 当浏览
  • C# 8.0 默认接口实现基本语法/显式调用

    我一直在搞乱默认的接口实现 认为您必须向下转换为接口类型才能使用默认方法实现 我还发现了一堆关于另一种语法的注释 我找不到这是否已经包含在内 我确实找到了关于它的外观的 决定 但是它不起作用 我做错了吗 还是这个新语法尚未包含在内 有些相关
  • 如何将 matplotlib 图导出为具有可编辑文本字段的矢量图形?

    我正在尝试导出多个绘图以在 Adob e Illustrator 中进行编辑 并且尝试将标题 轴标签和条形图标签作为单独的文本字段 即 如果我单击 Illustrator 或您选择的编辑器 中的标题 整个标题就是一个单独的字段 以下是我如何
  • C# - 无法处理 Enter 和 Tab 键事件

    我是新的 c 我正在使用下面的代码 但该代码不适用于 Enter 键和 Tab 键 请解决这个问题 private void Panel Load object sender EventArgs e this KeyDown new Key
  • 对于给定的二叉树找到最大二叉搜索子树

    对于给定的二叉树 找到最大的子树也是二叉搜索树 Example Input 10 50 150 25 75 200 20 15 35 65 30 120 135 155 250 Output 50 25 75
  • Powershell 文本搜索 - 多个匹配项

    我有一组 txt 文件 其中包含以下一个或两个字符串 red blue green orange purple 列表中还有更多 50 多种 可能性 如果有帮助 我可以判断 txt 文件是否包含一项或两项 但不知道它们是哪一项 字符串模式始终