微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用“选择字符串”来过滤输出中的行

如何解决如何使用“选择字符串”来过滤输出中的行

(首先,我已经搜索了SO,Internet,youtube半个小时,但没有给出正确的答案,所以我在这里问)

当您可以简单地从输出中过滤字符串时,我来自路由器和helpesk领域

“ |包含”(cisco)或“ | findstr”(Windows) 像这样:

findstr

我发现,在Powershell上,我们将'Select-String'与'Pattern'开关一起使用。

例如,我要打印出所有包含“后缀”一词的行 但它似乎不起作用。 正确的方法是什么,无需创建变量即可使用它。

powershell

解决方法

谢谢你们让我明白了该方法以数组的形式显示对象。

不幸的是,出于这一目的,我发现使用“ Where-Object”和“ Select-Object”很复杂,因此我使用“ Out-String -Stream” cmdlet将输出转换为字符串。

>
Get-NetIPAddress | Out-String -Stream | Select-String -Pattern "127.0.0.1"

它做得很好。

,

Select-String是一个cmdlet,用于在字符串文件中查找文本。
Get-NetIPAddress不输出字符串,而是(CimInstance)对象的数组。

要从此数组中仅选择某些值,可以像实例一样将结果通过管道传递到Select-Object

Get-NetIPAddress | Select-Object Suffix*

其输出类似于:

SuffixOrigin
------------
        Link
        Link
   WellKnown
        Link
        Dhcp
   WellKnown

此输出本身可能不是很有用。.
您可能最终想要选择更多属性,例如with

Get-NetIPAddress -AddressFamily IPv4 | Select-Object IPAddress,InterfaceAlias,Suffix*
,

cmdlet Get-NetIPAdress返回可以使用cmdlet Where-Object进行过滤的对象数组。但是缺点是您必须选择要过滤的字段。 CrossEntropyLoss中有一个简短的示例。或者,您可以使用cmdlet Select-Object

Get-NetIPAddress | Select-Object *fix* 

否则,您还可以使用命令ipconfig来过滤您的输出:

ipconfig | Select-String -Pattern "fix" 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。