grep 是 linux 上功能强大的文本搜索实用程序,但在 windows 上不可用。虽然有第三方端口和解决方案,但 Powershell 提供了内置的等价物grep ,可以在您的脚本中完成相同的
grep 是 linux 上功能强大的文本搜索实用程序,但在 windows 上不可用。虽然有第三方端口和解决方案,但 Powershell 提供了内置的等价物grep ,可以在您的脚本中完成相同的工作。
PowerShell 中有几个不同的搜索实用程序,每个都有自己的优势。最简单的是findstr,它是本机 Windows 可执行文件。这可以很好地替换 grep 在命令行中进行简单的搜索操作。例如,您可以通过管道将其输出ls 以查找匹配项。
ls | findstr "foo"
您还可以一次搜索多个单词,使用通配符匹配任何内容,并使用/R 标志传递基本的正则表达式。
ls | findstr /R ba[az]\.txt
但是,如果要显式搜索包括空格,则需要使用该/C: 标志:
ls | findstr /C:"foo"
如果你习惯了 Linux 命令行,不想记住新命令,可以将“grep”配置为 的别名findstr,这样可以保持肌肉记忆。
new-alias grep findstr
PowerShell 提供的另一种本机方法是Select-String cmdlet,它的功能与findstr.
这意味着它将在 PowerShell 脚本中更好地工作,并且最值得注意的是将其输出作为对象返回,该对象可以由 PowerShell 漂亮地打印出来。它也更容易在命令行上使用,因为 PowerShell 的选项卡补全将与它一起使用。
它的工作原理与 , 一样findstr,也可以使用通配符和正则表达式。
ls | Select-String foo
ls | Select-String -Pattern <regexPattern>
您可以通过Select-String 向其传递参数来使用 grep 文件内的文本-Path 。您还可以将它与从其他 cmdlet(如Get-Content.
Select-String -Path ".\foo.txt" -Pattern ba.*
如果您想在命令行中使用它,也可以将其别名为“grep”以便快速访问。
remove-alias grepnew-alias grep Select-String
来源地址:https://blog.csdn.net/wlcs_6305/article/details/126284414
--结束END--
本文标题: 如何从 PowerShell grep 搜索文本
本文链接: https://www.lsjlt.com/news/425763.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0