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

[玩转系统] PowerShell:如何过滤哈希表

作者:精品下载站 日期:2024-12-14 04:33:12 浏览:11 分类:玩电脑

PowerShell:如何过滤哈希表


您可以使用以下语法在 PowerShell 中过滤哈希表:

$keys = @($my_hash.Keys)

$keys | ForEach-Object {
    if ($_ -notmatch 'A000') {
        $my_hash.Remove($_)
    }
}

此特定示例过滤名为 $my_hash 的哈希表,以仅保留键包含模式 A000 的元素。

此语法的工作原理是首先创建一个名为 $keys 的数组,其中包含名为 $my_hash 的哈希表中的所有键。

然后,我们使用 ForEach-Object 循环遍历哈希表的每个键,并删除该键不包含模式 A000 的所有元素。

注意:此语法会就地修改哈希表。

以下示例展示了如何在实践中使用此语法。

示例:如何在 PowerShell 中过滤哈希表

假设我们创建以下名为 $my_hash 的哈希表:

$my_hash = [ordered]@{
  'A0001' = 24;
  'A0002' = 20;
  'A0003' = 14;
  'B0001' = 31;
  'B0002' = 9;
  'B0003' = 15;
  'A0007' = 22;
} 

我们可以使用以下语法来过滤此哈希表,以仅保留键包含值 A000 的元素:

$keys = @($my_hash.Keys)

$keys | ForEach-Object {
    if ($_ -notmatch 'A000') {
        $my_hash.Remove($_)
    }
}

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

[玩转系统] PowerShell:如何过滤哈希表

请注意,更新后的哈希表仅包含键包含值 A000 的元素。

您可以随意在 -notmatch 运算符后面指定您想要的任何模式,以根据不同的模式来过滤哈希表。

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

取消回复欢迎 发表评论:

关灯