我目前正在尝试在相当大的文本文档中搜索多个关键字,例如:我需要搜索区域和纽约是否只显示一个句子。我目前的脚本只提供了一个或另一个,但不是两个。
我目前的脚本是:
Get-Content <file name>.txt | Select-String '(phrase)'
有什么想法吗?
答案 0 :(得分:0)
以下是如何获得多种模式的结果:
get-content "YourTextFile.txt" | select-string -pattern '(regional.*new york)|(new york.*regional)'
基本上,这会查找两个短语以任何顺序出现在同一行中的任何内容。
答案 1 :(得分:0)
回过头来看,这里的一些内容是我用来匹配模式的东西。通配符和。将是你的门票。 http://ss64.com/ps/syntax-regex.html
答案 2 :(得分:0)
您可以使用Regex对象执行此类搜索。这是什么样的:
$inFile = get-content c:\temp\test.txt
$matchedLines = New-Object -TypeName System.collections.ArrayList
foreach ($line in $inFile)
{
$match = [regex]::Match($line, '(?i).*regional.*new york.*|(?i).*new york.*regional.*')
if ($match.Success -eq $true)
{
$matchedLines.Add($match)
}
}
Write-Output $matchedLines.Value