我目前正在嘗試在一個相當大的文本文檔中搜索多個關鍵字,例如:我需要搜索區域和紐約是否出現在一個句子中。目前的腳本我只給了我一個或另一個,但不是兩個。在一個句子中查找多個關鍵字
我現在的腳本是:
Get-Content <file name>.txt | Select-String '(phrase)'
有什麼想法?
我目前正在嘗試在一個相當大的文本文檔中搜索多個關鍵字,例如:我需要搜索區域和紐約是否出現在一個句子中。目前的腳本我只給了我一個或另一個,但不是兩個。在一個句子中查找多個關鍵字
我現在的腳本是:
Get-Content <file name>.txt | Select-String '(phrase)'
有什麼想法?
這裏是如何得到的結果的多模式:
get-content "YourTextFile.txt" | select-string -pattern '(regional.*new york)|(new york.*regional)'
從本質上講,這看起來任何東西,其中兩個詞組出現在任何順序在同一行。
請仔細閱讀以下內容,這裏介紹的是我用來匹配圖案的一些內容。通配符和a。將是你的門票。 http://ss64.com/ps/syntax-regex.html
您可以使用正則表達式對象來執行此類搜索。這裏是什麼樣子:
$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
您可以使用多個子句一個'凡-Object'過濾器:'位置對象{$ _ -match「富」 - 和$ _ -match「酒吧」} '。但是,除非您的輸入文件在單行中包含每個句子,否則當它們在同一個句子中時,將不能匹配這些詞語,但在不同的行上。 –