如何在PowerShell的where-Object中使用like操作符?

206 阅读2分钟

PowerShell提供了各种比较运算符,用于实现一些功能,如匹配一些特定的模式和比较不同的值。比较运算符有不同的类别,如平等、替换、匹配等。 如果我们谈论like运算符,它就属于匹配运算符的范畴。

在这篇文章中,我们将探讨PowerShell "Where-object"中的 "like"操作符的不同方面,如下所述。

  • 什么是PowerShell中的 "like "操作符?
  • 基本语法
  • 如何在PowerShell "哪里-对象 "中使用 "喜欢 "操作符?

那么我们开始吧!

什么是PowerShell中的 "like "操作符?

-like, -match, -notlike, -notmatch,这些操作符都属于同一个类别,即 "匹配"。 这些操作符被用来找出一个特定的字符串是否与通配符/regex模式匹配。如果我们谈论 "like "运算符,它专门用于在一个字符串中匹配通配符模式。

基本语法

下面的片段显示了如何在PowerShell中使用like操作符。

<string[]> -like

如果在字符串中找到匹配值,like操作符将返回true,如果在目标字符串中没有找到匹配值,则返回false。

如何在PowerShell的where-Object中使用 "like "操作符?

本节将探讨如何在PowerShell中使用-like操作符,要做到这一点,将考虑几个例子。

欢迎来到linuxhint.com' -like '*welcome*'。

在上面给出的代码中,我们正在寻找字符串中的 "欢迎 "一词,为了做到这一点,我们利用了-like操作符和通配符 "*"。上述cmdlet的输出将是这样的。

-like操作符返回true,它验证了在指定的字符串中发现了匹配的 "欢迎"。

让我们稍微修改一下这个cmdlet,看看如果不使用通配符会发生什么。

'Welcome to linuxhint.com' -like 'welcome'(欢迎)。

当我们运行上述cmdlet时,我们得到以下结果。

这次是哪里出了问题?为什么我们会得到一个错误的值?

在第一个例子中,我们利用了通配符,即在目标词的两边可以有一些文字,即 "欢迎"。而我们没有利用通配符的字符串将寻找完全匹配(不多也不少)。这意味着只有当它找到精确的词时才会返回 "true",即在目标词的两边没有一个字符,如下面的片段中所示。

让我们在Windows PowerShell上运行下面这个cmdlet。

'欢迎' -like '欢迎

输出结果显示,这次 "类似 "运算符返回的是真。

总结

在PowerShell中,"like "运算符属于匹配运算符的范畴,专门用于匹配字符串中的通配符模式。如果在字符串中找到匹配值,"like "运算符将返回true,如果在指定的字符串中没有找到匹配值,则返回false。这篇文章通过一些合适的例子解释了如何在PowerShell Where-Object中使用like操作符。