Select-String - совпадения выводятся в другом порядке при копировании в новый текстовый файл - PullRequest
0 голосов
/ 26 сентября 2018

В прошлом, когда я использовал следующее в Windows PowerShell ISE, для поиска в папке, содержащей большое количество текстовых файлов, поиска строк, содержащих указанный текст, и возврата этих строк в новый текстовый файл.

Param (
       [Parameter(Mandatory=$true)] 
          [string] $FullyQualifiedPath
)


$OutputFile = "Output File Pathway"
$FullyQualifiedPath = "Search Files Pathway"
$Pat1 = [regex] 'Search For This Text'

Remove-Item "$OutputFile"
Get-ChildItem -Path "$FullyQualifiedPath" |
Get-Content  | Select-String -Pattern $Pat1 -AllMatches  >> "$OutputFile"

Пока все работает отлично.Тем не менее, я теперь озадачен попыткой получить тот же эффект, но с несколькими шаблонами.

Я пробовал следующее:

Param (
       [Parameter(Mandatory=$true)] 
          [string] $FullyQualifiedPath
)


$OutputFile = "Output File Pathway"
$FullyQualifiedPath = "Search Files Pathway"
$Pat1 = [regex] 'Search For This Text'
$Pat2 = [regex] 'Search For This Text As Well"

Remove-Item "$OutputFile"
Get-ChildItem -Path "$FullyQualifiedPath" |
Get-Content  | Select-String -Pattern $Pat1 -AllMatches  >> "$OutputFile"
Get-Content  | Select-String -Pattern $Pat2 -AllMatches  >> "$OutputFile"

Но это возвращает:

Search For This Text  
Search For This Text  
Search For This Text  
Search For This Text As Well  
Search For This Text As Well  
Search For This Text As Well  

В отличие от моего требуемого:

Search For This Text  
Search For This Text As Well  
Search For This Text  
Search For This Text As Well  
Search For This Text  
Search For This Text As Well  

Есть ли в любом случае, я могу получить его для вывода по мере необходимости?

Я совсем не знаком с этим языком, иОригинальный код пришел из онлайн-источника.Любая помощь с этим будет принята с благодарностью!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...