Teilstring extrahieren

Diskutiere Teilstring extrahieren im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; Hallo zusammen, ich suche nach einer Möglichkeit aus einem String einen Teil auszuschneiden. Gegeben sei z.B. der String: * fcid 0xb400a0 [pwwn...

  1. #1 crazy69, 13.02.2018
    crazy69

    crazy69 Grünschnabel

    Dabei seit:
    13.02.2018
    Beiträge:
    3
    Zustimmungen:
    0
    Hallo zusammen,

    ich suche nach einer Möglichkeit aus einem String einen Teil auszuschneiden.
    Gegeben sei z.B. der String:
    * fcid 0xb400a0 [pwwn 20:01:00:02:be:01:00:01] [test_fc1]

    Ich möchte nun hier den Teilstring "20:01:00:02:be:01:00:01" extrahieren.
    ich dachte daran, irgendwie nach "pwwn" zu suchen und darauf folgenden Zeichen herauszuschneiden, bekomme es aber nicht hin.

    Hat jemand von euch die Idee, wie man das mit awk oder sed machen kann?
    Falls ja, kann ich irgendwie auch noch prüfen, ob hier tatsächlich ein String zurückkommt, den ich erwarte (sprich die WWN)?

    Vorab vielen Dank für eure Hilfe!
     
  2. #2 hellfire, 13.02.2018
    hellfire

    hellfire Doppel-As

    Dabei seit:
    25.05.2016
    Beiträge:
    105
    Zustimmungen:
    12
    Code:
    echo "$zeile" |  sed -r -e 's/^.* ([0-9a-f:]+)\].*$/\1/'
     
  3. #3 crazy69, 13.02.2018
    crazy69

    crazy69 Grünschnabel

    Dabei seit:
    13.02.2018
    Beiträge:
    3
    Zustimmungen:
    0
    Hi,

    vielen Dank, ich hätte wahrscheinlich erwähnen müssen, dass ich es unter AIX verwenden muss, beim Testen des Codes bekomme ich den Fehler, dass es die Option -r nicht gibt:

    root@host:/ > echo "$zeile" | sed -r -e 's/^.* ([0-9a-f:]+)\].*$/\1/'
    sed: Not a recognized flag: r
    Usage: sed [-n] [-u] Script [File ...]
    sed [-n] [-u] [-e Script] ... [-f Script_file] ... [File ...]


    Gibt es unter AIX ein anderes passendes Flag?
     
  4. #4 floyd62, 14.02.2018
    floyd62

    floyd62 Routinier

    Dabei seit:
    01.05.2007
    Beiträge:
    318
    Zustimmungen:
    0
    Hi,

    habe kein AIX-System, aber eventuell funktioniert das ja auch ohne erweiterte reguläre Ausdrücke (-r), indem du zunächst alles bis 'pwwn' gefolgt von beliebig vielen Spaces, und danach alles was nicht in das Muster passt, eliminierst:

    Code:
    sed -e 's/.*pwwn *//' -e 's/[^0-9a-f:].*//'
    Gruss
     
  5. #5 crazy69, 14.02.2018
    crazy69

    crazy69 Grünschnabel

    Dabei seit:
    13.02.2018
    Beiträge:
    3
    Zustimmungen:
    0
    Perfekt!
    Vielen Dank, das hat funktioniert!
     
Thema:

Teilstring extrahieren

Die Seite wird geladen...

Teilstring extrahieren - Ähnliche Themen

  1. sed - Teilstring durch Variable ersetzen

    sed - Teilstring durch Variable ersetzen: Hallo, ich schreibe gerade an einem Shell-Skript das mir eine Datei ausliest und dort einen Platzhalter durch das aktuelle Datum ersetzt....
  2. .elf aus deb der rpm extrahieren?

    .elf aus deb der rpm extrahieren?: Hallo, ich habe ein ARM-chip mit einem minimalen Linux-Kernel, bin aber zu doof zum Cross-compilieren. Kann ich mir einfach einen .deb...
  3. 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"...
  4. Bestimmte Links aus HTML Dateien extrahieren

    Bestimmte Links aus HTML Dateien extrahieren: Moin Wir (mein Programmier-Partner und ich) sollen ein Skript schreiben, welches Links aus einer lokalen HTML Datei extrahiert,filtert und...
  5. Links aus HTML-Seite extrahieren

    Links aus HTML-Seite extrahieren: Hallo, ich möchte aus einer lokalen HTML-Datei bestimmte Links extrahieren. Die Vorgehensweise ist durch Aufgabenstellung vorgeschrieben: 1....
  1. Diese Seite verwendet Cookies um Inhalte zu personalisieren. Außerdem werden auch Cookies von Diensten Dritter gesetzt. Mit dem weiteren Aufenthalt akzeptierst du diesen Einsatz von Cookies.
    Information ausblenden