Powershell не показывает результат точно (IP-адрес) - PullRequest
0 голосов
/ 29 мая 2018

я пытаюсь получить только 1.1.2.1, но он показывает мне другие ip тоже

мой тестовый код

$reader = @([System.IO.File]::ReadAllLines("c:\test2.log")) |select-string "1.1.2.1"

$reader = [System.IO.File]::ReadAllLines("c:\test2.log") |select-string "1.1.2.1"

$reader = get-content c:\test2.log |select-string "1.1.2.1"

и

  • test2.log

    10.1.101.1  test101
    
    10.1.102.1  test102
    
    121.132.252.1   test104
    
    100.101.122.1   test105
    
    1.1.1.1 test1
    
    1.1.2.1 test2
    
  • результат

    10.1.102.1    test102
    
    100.101.122.1    test105
    
    1.1.2.1    test2
    

я не знаю, почему он показывает мне test102,test105

, пожалуйста, кто-нибудь, скажите мне, как это исправить

Я пробовал это в Powershell v2,v3


Извините, я забыл объяснить часть исходного кода

{$ pinghostname = Get-Content $ HOSTS | Select-String -Pattern "$ ip" |% {($ _ -split "t t") [1]}

"1.1.2.1" должно быть $ ip

, это означает, что я не могу использовать регулярное выражение

1 Ответ

0 голосов
/ 29 мая 2018
get-content test2.log | Select-String "1\.1\.2\.1"

работает, как и

$ip="1\.1\.2\.1"
get-content test2.log | Select-String $ip
...