none
Select-String bei einem Mehrzeilgem String RRS feed

  • Frage

  • Hallo!

    ich lass mir den Quelltext einer Webseite mit folgendem Befehl in eine Varable schreiben:

     $page = (New-Object System.Net.WebClient).DownloadString("https://www.web")

    Nun wollte ich hier den String "Hilfe" suchen um heraus zu finden, dass die Seite noch einigermaßen läuft.

     $page | Select-String "Hilfe" -SimpleMatch

    Jedoch wird mir dann die ganze Seite (Variable) ausgegeben und nicht nur der einzelne String. Wie kann man das besser lösen?

    VG niesel

    Dienstag, 24. Februar 2015 12:17

Antworten

  • Hallo,

    z.B.: so, wenn es dir nur darum geht den Quelltext der Seite auf das Wort Hilfe zu untersuchen.

    Das Ergebnis liefert True wenn vorhanden, fales wenn nicht.

    $page -match 'Hilfe'

    Beste Gruesse
    brima


    Dienstag, 24. Februar 2015 13:01
  • Die DownloadString Methode liefert die Web Seite als einen langen String. Es gibt quasi keine Zeilen.

    An die Zeilen kommst Du, wenn Du den Sting aufteilst und als Trennzeichen den NewLine Charachter (`n)benutzt:

    $page = (New-Object System.Net.WebClient).DownloadString("http://www.heise.de")
    $page = $page -split "`n"
    
    foreach ($line in $page)
    {
        if ($line -match 'title="Suche"')
        {
            $line
        }
    }


    -Raimund

    Samstag, 28. Februar 2015 12:36

Alle Antworten

  • Hallo,

    z.B.: so, wenn es dir nur darum geht den Quelltext der Seite auf das Wort Hilfe zu untersuchen.

    Das Ergebnis liefert True wenn vorhanden, fales wenn nicht.

    $page -match 'Hilfe'

    Beste Gruesse
    brima


    Dienstag, 24. Februar 2015 13:01
  • Niesel, ist deine Frage damit beantwortet? Wenn ja markiere doch bitte die Antwort.

    Grüße, Denniver


    Blog: http://bytecookie.wordpress.com

    Kostenloser Powershell Snippet Manager v3: Link
    (Schneller, besser + einfacher scripten.)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.

    Freitag, 27. Februar 2015 23:54
    Moderator
  • Die DownloadString Methode liefert die Web Seite als einen langen String. Es gibt quasi keine Zeilen.

    An die Zeilen kommst Du, wenn Du den Sting aufteilst und als Trennzeichen den NewLine Charachter (`n)benutzt:

    $page = (New-Object System.Net.WebClient).DownloadString("http://www.heise.de")
    $page = $page -split "`n"
    
    foreach ($line in $page)
    {
        if ($line -match 'title="Suche"')
        {
            $line
        }
    }


    -Raimund

    Samstag, 28. Februar 2015 12:36