【问题标题】:How to use 'Select-String' to filter lines from an output如何使用“Select-String”过滤输出中的行
【发布时间】:2021-01-18 19:22:18
【问题描述】:

(首先,我已经搜索了 SO、互联网、youtube 半小时,但没有得到正确的答案,所以我在这里问)

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

"| include" (cisco) 或 "| findstr" (windows) 像这样:

我发现,在 powershell 上,我们使用带有“模式”开关的“选择字符串”。

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

【问题讨论】:

  • 您能否在问题中包含图片中的文字?
  • 请不要发布代码/错误/示例数据的图像。为什么? lookee ... 为什么在提问时不上传代码/错误的图像? - 元堆栈溢出 — meta.stackoverflow.com/questions/285551/…
  • 刚接触 SO 你可能不知道这一点,但习惯于点击左侧的 ✓ 图标 accept the answer that solved your problem。这将有助于其他有类似问题的人更轻松地找到它,并有助于激发人们回答您的问题。

标签: powershell select-string


【解决方案1】:

Select-String 是用于在 stringsfiles 中查找文本的 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*

【讨论】:

    【解决方案2】:

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

    Get-NetIPAddress | Select-Object *fix* 
    

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

    ipconfig | Select-String -Pattern "fix" 
    

    【讨论】:

      【解决方案3】:

      感谢你们让我明白该方法以数组的形式返回对象。

      不幸的是,我发现使用 'Where-Object' 和 'Select-Object' 对于这个一次性查看目的来说很复杂,所以我使用 'Out-String -Stream' cmdlet 将输出转换为字符串。

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

      它做得很好。

      【讨论】:

      • 你知道Select-String在不使用开关-SimpleMatch的情况下默认使用正则表达式模式,并且模式“127.0.0.1”包含点,在正则表达式中具有特殊含义(任何角色),你呢?如果不转义这些点,“127X0Y0Z1”的值也会通过。经验法则:不要对对象进行字符串化以获取其属性之一
      • 感谢您的重要通知,我没有花时间查找开关操作。 @Theo
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多