Ein Wort hinter einer bestimmten Zeichenfolge suchen und ausgeben

Tom71

Mitglied
Beiträge
42
Hallo,
ich habe eine Datei, die ich nach bestimmten Wörtern durchsuchen und, wenn gefunden, x Zeichen hinter sdiesem Wort ausgeben möchte.

Beispiel:
12345xxxyyyzzz=543218;duiohfwowzzz=232324fdhefoehefvedzzz=3434344

Ausgabe: 6 Zeichen hinter jedem "zzz=", also
543218
232324
343434

Betriebssystem: AIX (weitgehend LINUX-Syntaxe)
Hat jemand eine Idee ?
 

marce

Kaiser
Beiträge
1.303
... und in welcher Sprache soll's denn sein? php, perl, ruby, python, awk, shell-Script, ...?

Auf's erste (und an der Konsole) klingt's nach einem Job für sed.
 

hellfire

Doppel-As
Beiträge
129
perl sollte auf AIX wohl verfügbar sein.

Code:
perl -ne 's/zzz=(.{6})/print("$1\n")/ge;' eingabedatei.txt
 

Pik-9

Tripel-As
Beiträge
216
Hier ein Weg auf der Shell mit grep + sed:
Code:
grep -o 'zzz=.\{6\}' <Datei> | sed 's/zzz=\(.\{6\}\)/\1/'

Viele Grüße,
Pik-9
 

Ähnliche Themen

Wie kann ich x Zeichen hinter einem bestimmten Wort ausgeben ?

Keine grafische Oberfläche (Debian Installation)

Welches Linux/Unix für ehemaligen OSX Nutzer?

Wie komme ich an den Inhalt des Inhalts einer Variable?

sed Wort suchen und Zeile komplett löschen

Sucheingaben

linux text bis zu bestimmtem wort ausgeben

Oben