IP aus String extrahieren

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von twelve, 26.11.2008.

  1. #1 twelve, 26.11.2008
    Zuletzt bearbeitet: 27.11.2008
    twelve

    twelve Grünschnabel

    Dabei seit:
    26.11.2008
    Beiträge:
    2
    Zustimmungen:
    0
    [erledigt] IP aus String extrahieren

    Hallo,

    ich möchte aus einem String eine IP auslesen. Da die IP aus nicht immer von den gleichen Zeichen eingeschlossen wird, habe ich es mit einem regulären Ausdruck versucht.
    Leider komme ich aber zu keinem brauchbaren Ergebnis.
    Hier sind meine Versuche:

    1. Scheint zu funktionieren, außer es kommt eine Ziffer im Teilstring vor der IP vorkommt:
    - string="Hallo127.0.0.1Welt"; echo "${string}" | sed -e 's/\([^0-9]*\)\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\)\(.*\)/\2/'
    -> Ausgabe: 127.0.0.1
    - string="12Hallo2k89.31.46.178Welt3"; echo "${string}" | sed -e 's/\([^0-9]*\)\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\)\(.*\)/\2/'
    -> Ausgabe: 12Hallo289.31.46.178

    2. Extrahiert die IP, aber entfernt immer die erste(n) Ziffer(n) der IP:
    - string="Hallo127.0.0.1Welt"; expr match "$string" '.*\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\)'
    - string="Hallo127.0.0.1Welt"; echo "${string}" | sed -e 's/\(.*\)\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\)\(.*\)/\2/'
    -> Ausgabe: 7.0.0.1
    - string="12Hallo2k89.31.46.178Welt3"; expr match "$string" '.*\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\)'
    - string="12Hallo2k89.31.46.178Welt3"; echo "${string}" | sed -e 's/\(.*\)\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\)\(.*\)/\2/'
    -> Ausgabe: 9.31.46.178

    Woran liegt es, dass der folgende Ausdruck nicht funktioniert (bzw. wie könnte er funktionieren):
    - string="12Hallo2k89.31.46.178Welt3"; expr match "$string" '\([0-9]\{1,3\}\(\.[0-9]\)\{3\}\)'

    Gruß
    Robert

    PS: Ich verwende die Bash unter Kubuntu, Debian und Cygwin.
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. larry

    larry Tripel-As

    Dabei seit:
    27.11.2007
    Beiträge:
    159
    Zustimmungen:
    0
    Code:
    grep -Eo '[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}'
    dürfte funktionieren
     
  4. daboss

    daboss Keine Macht für niemand!

    Dabei seit:
    05.01.2007
    Beiträge:
    1.294
    Zustimmungen:
    0
    Ort:
    sydney.australia.world
    Tut's hier auch, zumindest als
    Code:
    alias sIp='ping -c1 <blahost.tld> | grep -Eo "[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}"'
    Somit mal Danke für Frage und Antwort, sowas such ich seit heut früh ;)
     
  5. twelve

    twelve Grünschnabel

    Dabei seit:
    26.11.2008
    Beiträge:
    2
    Zustimmungen:
    0
    Danke Larry, funktioniert wunderbar.
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

IP aus String extrahieren

Die Seite wird geladen...

IP aus String extrahieren - Ähnliche Themen

  1. Einen String extrahieren per Regex Hilfe gesucht

    Einen String extrahieren per Regex Hilfe gesucht: Hallo Leute, ich habe folgenden String: <td><font color="Black"><a href="url.tld?ID=AEA6EA04"...
  2. String aus Webseite extrahieren

    String aus Webseite extrahieren: Hallo Community, ich möchte gern den Traffic meines Linksys Routers per Shell Script auslesen und in eine Datei schreiben. Leider ist mein...
  3. sed Pfad aus String extrahieren

    sed Pfad aus String extrahieren: [gelöst] sed Pfad aus String extrahieren Hallo Forum, ich verzweifel gerade an einer an sich simplen Aufgabe. Ich möchte aus einem String...
  4. Zahlen aus String extrahieren

    Zahlen aus String extrahieren: Hi, ich habe ein Problem mit php und komm irgendwie nicht auf die richtige Funktion: Und zwar habe ich einen String ("1,5,20,95,150,1375") und...
  5. FIND mit UND-Verknüpfung im Suchstring

    FIND mit UND-Verknüpfung im Suchstring: Hallo, ich schaffe es einfach nicht bei folgendem Kommando die Suchoptionen zu erweitern, damit nur Dateien beginnend mit "T_*" aufgelistet...