PowerShell:使用“Select-String”在对象列表中查找字符串的快捷方式

vmpqdwk3  于 2023-01-05  发布在  Shell
关注(0)|答案(1)|浏览(225)

问题

我试图找到一种在对象列表中查找字符串的方法,就像Get-Alias的结果一样,我的问题是所有的解决方案要么太长而不实用,要么不能产生我需要的行为。

目前为止我尝试的:

使用alias | sls -All "Get-"。没有结果,因为sls使用的toString只是名称列:

1.使用alias | Out-String | sls -All "Get-"。仅高亮显示

1.使用alias | Where-Object {$_.Definition -like "*Get-Alias*"}。要写的东西很多,而且需要知道文本所在的列。

1.使用alias | findstr "Get-".可以工作,但需要使用旧版可执行文件,该文件并非在所有PowerShell Core支持的平台上都可用。我希望代码在所有平台上都能工作,而无需开关。

1.写入一个文件,然后通过管道将其传输到Select-String。非常不实用。
...
有人能帮我解决这个问题吗?

j0pj023g

j0pj023g1#

如果您希望对显示在控制台上的对象进行grep,那么使用Out-String的第一个示例的方向是正确的,只是缺少了-Stream开关:

alias | Out-String -Stream | sls -All "Get-"

或者,如果您希望它更短,可以使用内置的 Package 器oss

alias | oss | sls -All "Get-"

相关问题