当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell:如何在多个条件下使用Where-Object

作者:精品下载站 日期:2024-12-14 20:32:37 浏览:15 分类:玩电脑

PowerShell:如何在多个条件下使用Where-Object


通常,您可能希望使用 PowerShell 中的 Where-Object cmdlet 根据多个条件过滤对象

您可以使用以下方法来执行此操作:

方法一:将Where-Object与-and运算符结合使用

$my_data | Where-Object { [int]$_.points -gt 20 -and [int]$_.assists -gt 7}

此特定示例过滤 $my_data 对象,以仅显示 points 属性中的值大于 20 且 assists 中的值的行> 属性大于 7。

方法 2:将Where-Object 与 -or 运算符结合使用

$my_data | Where-Object { [int]$_.points -gt 30 -or [int]$_.assists -gt 10}

此特定示例过滤 $my_data 对象,以仅显示 points 属性中的值大于 30 且 assists 中的值的行> 属性大于 10。

以下示例展示了如何在实践中使用每种方法,并将以下 CSV 文件保存在以下位置:

c:\users\bobbi\nba_data.csv

该文件的内容如下:

[玩转系统] PowerShell:如何在多个条件下使用Where-Object

该文件包含三列,显示不同篮球运动员的球队得分助攻

示例 1:如何将Where-Object 与 -and 运算符结合使用

我们可以使用以下语法将 Where-Object cmdlet 与 -and 运算符一起使用来过滤 CSV 文件中的数据,以仅显示其中值所在的行points 属性大于 20 assists 属性中的值大于 7:

$my_file = "c:\users\bobbi\nba_data.csv"

Import-Csv $my_file | Where-Object { [int]$_.points -gt 20 -and [int]$_.assists -gt 7}

以下屏幕截图显示了如何在实践中使用此语法:

[玩转系统] PowerShell:如何在多个条件下使用Where-Object

请注意,只有输出中显示的行满足以下两个条件:

  • points 属性中的值大于 20。
  • assists 属性中的值大于 7。

通过在 Where-Object cmdlet 中使用 -and 运算符,我们指定必须满足这两个条件才能显示该行。

示例 2:如何将Where-Object 与 -or 运算符结合使用

我们可以使用以下语法将 Where-Object cmdlet 与 -or 运算符一起使用来过滤 CSV 文件中的数据,以仅显示其中值所在的行points 属性大于 30或 assists 属性中的值大于 10:

$my_file = "c:\users\bobbi\nba_data.csv"

Import-Csv $my_file | Where-Object { [int]$_.points -gt 30 -or [int]$_.assists -gt 10}

以下屏幕截图显示了如何在实践中使用此语法:

[玩转系统] PowerShell:如何在多个条件下使用Where-Object

请注意,输出中显示的每一行至少满足以下条件之一:

  • points 属性中的值大于 30。
  • assists 属性中的值大于 10。

通过在 Where-Object cmdlet 中使用 -or 运算符,我们指定要显示的行必须至少满足一个条件。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯