Get-Content
возвращает массив строк (по одной на строку), каждая из которых проверяется отдельно в вашем Where-Object
условии. Вам нужно прочитать файл как одну строку, чтобы ваша проверка работала:
Get-Content $file_path | Out-String | Where-Object { ... }
В PowerShell v3 или новее командлет имеет параметр для чтения необработанного файла:
Get-Content $file_path -Raw | Where-Object { ... }
Обратите внимание, однако, что вам, возможно, придется скорректировать свое состояние для проверки на `r`n
, а не просто `n
, особенно при первом подходе.