PowerShell:使用 Select-String 搜索多个模式
您可以在 PowerShell 中使用以下基本语法来使用 Select-String cmdlet 搜索多个文件中的多个模式:
Get-ChildItem -recurse | Select-String Spurs, Mavs, Celtics
此特定示例返回当前目录中每个文件中的行,其中该行中的任意位置包含以下字符串之一:
- 热刺
- 小牛队
- 凯尔特人队
以下示例展示了如何在实践中使用此语法。
示例:使用 Select-String 在 PowerShell 中搜索多种模式
假设我们的当前目录位于以下路径:
c:\users\bobbi\data1我们可以输入Dir来查看该目录中的所有文件:
该目录包含五个文件,其中包含有关篮球运动员的各种信息。
假设我们希望返回这些文件中任何位置包含字符串“Spurs”、“Mavs”或“Celtics”的所有行。
我们可以使用以下语法来执行此操作:
Get-ChildItem -recurse | Select-String Spurs, Mavs, Celtics以下屏幕截图显示了如何在实践中使用此语法:
输出显示有关行中任意位置包含“Spurs”、“Mavs”或“Celtics”的每行的信息。
例如,我们可以看到:
- 文件 conferences.txt 在文件的第 1 行包含“Mavs”。
- 文件 conferences.txt 在文件的第 2 行包含“Spurs”。
- 文件 conferences.txt 在文件的第 3 行包含“Celtics”。
等等。
如果愿意,我们可以使用以下语法来生成相同的输出,但格式更易读:
Get-ChildItem -recurse |
Select-String Spurs, Mavs, Celtics |
select LineNumber, Line, Filename
以下屏幕截图显示了如何在实践中使用此语法:
输出显示当前目录中包含“Spurs”、“Mavs”或“Celtics”的每行的行号、实际行以及文件名。


