PowerShell Select-String не может извлечь новые строки, созданные в текстовом потоке из канала?
Я хочу найти слова, содержащие ключевое слово из текстовых файлов. Пример текстового файла (test.txt) содержит строки ниже.
Here is unmatched part.
" Happynimall happy-monkey:2 happy-cat:5 "
Here is unmatched part too. Here is unmatched part too.
Поэтому я попробовал команды powershell следующим образом.
$(gc test.txt).replace(' ',"`n")|select-string 'monkey','cat'
Но результат не смог извлечь только соответствующую строку слова, как это.
"
Happynimall
happy-monkey:2
happy-cat:5
"
Кстати, cmd "findstr" хорошо работает для извлечения совпадающей строки слова, сгенерированной в потоке канала.powershell -command "$(gc test.txt).replace(' ',"""`n""")"|findstr "monkey cat"
happy-monkey:2
happy-cat:5
Почему "select-string" не может извлечь только совпадающие строки слова? Почему "findstr" может это сделать? Как я могу заставить select-string дать тот же результат с findstr? Есть ли кто-нибудь, чтобы помочь мне понять это и заставить select-string сделать это? Заранее спасибо:-)