• 如何从 PowerShell grep 搜索文本


    在这里插入图片描述
    grep 是 Linux 上功能强大的文本搜索实用程序,但在 Windows 上不可用。虽然有第三方端口和解决方案,但 PowerShell 提供了内置的等价物grep ,可以在您的脚本中完成相同的工作。

    在 PowerShell 中使用 findstr 进行 grep 搜索

    PowerShell 中有几个不同的搜索实用程序,每个都有自己的优势。最简单的是findstr,它是本机 Windows 可执行文件。这可以很好地替换 grep 在命令行中进行简单的搜索操作。例如,您可以通过管道将其输出ls 以查找匹配项。

    ls | findstr "foo"
    
    • 1

    在这里插入图片描述
    您还可以一次搜索多个单词,使用通配符匹配任何内容,并使用/R 标志传递基本的正则表达式。

    ls | findstr /R ba[az]\.txt
    
    • 1

    在这里插入图片描述
    但是,如果要显式搜索包括空格,则需要使用该/C: 标志:

    ls | findstr /C:"foo"
    
    • 1

    如果你习惯了 Linux 命令行,不想记住新命令,可以将“grep”配置为 的别名findstr,这样可以保持肌肉记忆。

    new-alias grep findstr
    
    
    • 1
    • 2

    在这里插入图片描述

    在 PowerShell 中使用 Select-String 进行 grep 搜索

    PowerShell 提供的另一种本机方法是Select-String cmdlet,它的功能与findstr.

    这意味着它将在 PowerShell 脚本中更好地工作,并且最值得注意的是将其输出作为对象返回,该对象可以由 PowerShell 漂亮地打印出来。它也更容易在命令行上使用,因为 PowerShell 的选项卡补全将与它一起使用。

    它的工作原理与 , 一样findstr,也可以使用通配符和正则表达式。

    ls | Select-String foo
    
    • 1
    ls | Select-String -Pattern <regexPattern>
    
    • 1

    在这里插入图片描述
    您可以通过Select-String 向其传递参数来使用 grep 文件内的文本-Path 。您还可以将它与从其他 cmdlet(如Get-Content.

    Select-String -Path ".\foo.txt" -Pattern ba.*
    
    • 1

    在这里插入图片描述
    如果您想在命令行中使用它,也可以将其别名为“grep”以便快速访问。

    remove-alias grep
    new-alias grep Select-String
    
    • 1
    • 2
  • 相关阅读:
    Android 调试桥——ADB
    黑豹程序员-放大招-架构师学习路线图
    C++ 对象克隆关键点
    python根据多边形polygon生成掩膜图像问题cv2.fillPoly()和cv2.fillConvexPoly()
    51单片机温度控制调速风扇仿真设计
    ASEMI肖特基二极管SB40100LCT参数,SB40100LCT规格书
    Debian11面板怎么添加显示桌面的快捷按钮?
    【代码随想录刷题】栈与队列总结
    计算机网络自学笔记008_Real(应用层)
    jupyter远程服务器配置以及服务器开机自启
  • 原文地址:https://blog.csdn.net/wlcs_6305/article/details/126284414