如何搜索(正则表达式)字符串匹配的别名?
How to search alias names for (regexp) string match?
目标 - 找到执行此操作的 PowerShell 方法:
alias | findstr /i ">some_string<"
示例:我想查找包含不区分大小写的字符串 "web" 的所有别名。
- 非惯用方式:
alias | findstr /i "web"
- PS 惯用方式:
alias | where name -icont "web" # Or something similar?
但这行不通...
注意:我使用的是 PSv5.1.
我做错了什么?
听起来您正在寻找别名,其中 定义(别名指向的命令)包含字符串 web
.
你可以这样做:
Get-Alias -Definition *web*
如果是需要包含web
的别名,请改用-Name
参数:
Get-Alias -Name *web*
可能值得一提的是命令 alias
解析为 Get-Alias
,因此它们在功能上是相同的。 alias -def *web*
也可以
Mathias 的回答是正确的做法。但是,您使用 Where-Object
cmdlet 的错误是您按 Name
属性 进行筛选,而您不想按 Definition
属性 进行筛选:
Get-Alias | Where Definition -Match "web"
目标 - 找到执行此操作的 PowerShell 方法:
alias | findstr /i ">some_string<"
示例:我想查找包含不区分大小写的字符串 "web" 的所有别名。
- 非惯用方式:
alias | findstr /i "web"
- PS 惯用方式:
alias | where name -icont "web" # Or something similar?
但这行不通...
注意:我使用的是 PSv5.1.
我做错了什么?
听起来您正在寻找别名,其中 定义(别名指向的命令)包含字符串 web
.
你可以这样做:
Get-Alias -Definition *web*
如果是需要包含web
的别名,请改用-Name
参数:
Get-Alias -Name *web*
可能值得一提的是命令 alias
解析为 Get-Alias
,因此它们在功能上是相同的。 alias -def *web*
也可以
Mathias 的回答是正确的做法。但是,您使用 Where-Object
cmdlet 的错误是您按 Name
属性 进行筛选,而您不想按 Definition
属性 进行筛选:
Get-Alias | Where Definition -Match "web"