On 22 Oct 2002, Heiner Iserloth wrote:
Antwort an: Re: Shell scripte Hallo Liste, vielen für die Antworten. Entschuldigung für die langen Zeilen (habe ein internes Mail Formular ausgewählt). Ich möchte eine Cisco Pix Firewall auf einem SuSE Linux Rechner mit "syslogd" loggen. Die Zeilen die gelogt sind sehr lang.
z.b. Oct 22 09:27:00 192.168.1.1 %PIX-6-101001: TCP connection 910452 faddr 192.168.1.1/80 gaddr 192.168.1.1/80 laddr 192.168.1.1/80 duration 0:00:01 bytes 4190 (TCP Reset-I)
Aus so einer Zeile möchte die Zahl hinter dem Wort "bytes" auslesen. Schön wäre die Zeichen Position von "b" vom dem Wort "bytes", dann könnte ich mit dem Programm cut die Zeilen wie gewünscht Schneiden.
wozu brauchst du die genaue Position noch? das geht doch alles viel einfacher. Perl Loesung hat schon jemand geschrieben: perl -ne 'print "$1\n" if m/.*\s+bytes\s+(\d+)\s+.*/;' file oder sed (aber nicht so tolerant): sed -ne 's/.* bytes \([^ ]*\).*/\1/p' file (beides funktioniert mit deinem Beispiel). Achim