Hi,
ich habe Dateien indem ich folgendes zurückbekomme:
---------
L0219037.log:L 02/19/2006 - 15:21:30: [MANI_ADMIN_PLUGIN] Admin [Schnueffer] [STEAM_0:1:121212] Executed : Banned (By Admin) [$wizZ] [STEAM_0:0:0123456] banid 5 3495 kick
---------
Ich möchte diese Zeile jetzt mit der Shell parsen und dabei nur folgendes zurück bekommen:
STEAM_0:0:0123456
Die Zeichenkette ändert sich zwar vom Inhalt ständig, aber die Zeile ist immer nach diesem Format aufgebaut.
Ich habe es schon mit cut versucht, weiß aber nicht wie ich von rechts nach links mich durch arbeite. Ich bräuchte also etwas das so aussieht
grep "Banned (By Admin" * | cut -d " " -f-
Banned (By AdminBanned (By AdminIch möchte es jetzt erreichen das ich die letzte Spalte die mit "STEAM" anfängt zurück bekomme. Ich habe es schon in etwa so probiert:
grep "Banned (By Admin)" * | cut -d "[" -f-1
Aber mit "-f-1" funzt es nicht. Kann mir da einer weiter helfen?
Gruß Rainer
Zeile nach Begriff parsen
Nochmal
Hi,
in der Aufgabenstellung ist irgendwie alter Text reingekommen . Hier nochmal das ganze vernünftig:
--------------------------------------------------------------------------------
Hi,
ich habe Dateien indem ich folgendes zurückbekomme:
---------
L0219037.log:L 02/19/2006 - 15:21:30: [MANI_ADMIN_PLUGIN] Admin [Schnueffer] [STEAM_0:1:121212] Executed : Banned (By Admin) [$wizZ] [STEAM_0:0:0123456] banid 5 3495 kick
---------
Ich möchte diese Zeile jetzt mit der Shell parsen und dabei nur folgendes zurück bekommen:
STEAM_0:0:0123456
Die Zeichenkette ändert sich zwar vom Inhalt ständig, aber die Zeile ist immer nach diesem Format aufgebaut. Wichtig ist dabei das von rechts nach links geparst wird.
Ich habe es schon mit cut versucht, weiß aber nicht wie ich von rechts nach links mich durchparse. Ich bräuchte also etwas das so aussieht
grep "Banned (By Admin)" * | cut -d "[" -f-1
Aber mit "-f-1" funzt es nicht. Kann mir da einer weiter helfen?
Gruß Rainer
in der Aufgabenstellung ist irgendwie alter Text reingekommen . Hier nochmal das ganze vernünftig:
--------------------------------------------------------------------------------
Hi,
ich habe Dateien indem ich folgendes zurückbekomme:
---------
L0219037.log:L 02/19/2006 - 15:21:30: [MANI_ADMIN_PLUGIN] Admin [Schnueffer] [STEAM_0:1:121212] Executed : Banned (By Admin) [$wizZ] [STEAM_0:0:0123456] banid 5 3495 kick
---------
Ich möchte diese Zeile jetzt mit der Shell parsen und dabei nur folgendes zurück bekommen:
STEAM_0:0:0123456
Die Zeichenkette ändert sich zwar vom Inhalt ständig, aber die Zeile ist immer nach diesem Format aufgebaut. Wichtig ist dabei das von rechts nach links geparst wird.
Ich habe es schon mit cut versucht, weiß aber nicht wie ich von rechts nach links mich durchparse. Ich bräuchte also etwas das so aussieht
grep "Banned (By Admin)" * | cut -d "[" -f-1
Aber mit "-f-1" funzt es nicht. Kann mir da einer weiter helfen?
Gruß Rainer
Nur kurz & hektisch:Erklärungen oder Anpassungen später.
Jochen
Code: Select all
awk '/Banned \(By Admin\)/ { print $(NF - 5)}' eingabedatei
Jochen
Die grösste Lüge der EDV? "Mal eben..."