Hallo @ll
wie vervollständige ich das Script
grep 'time(ms):[0-9]' localhost_access2007-01-15.log > test7.txt
damit die Zahlenwerte hinter time(ms) nur ausgegeben werden, wenn Sie mehr als 3 stellige werte haben
thx @ll
Gruß HelsAett
Zahlenwert auslesen
sollte so funktionieren:
Gruß
gms
Code: Alles auswählen
grep 'time(ms):[0-9]\{4,\}' localhost_access2007-01-15.log > test7.txt
gms
da hilft dir wahrscheinlich ein kleines Beispiel:
Gruß
gms
Code: Alles auswählen
gms@gms1:~$ echo bla1 >>x.txt
gms@gms1:~$ echo bla2 >>x.txt
gms@gms1:~$ echo bla3 >>x.txt
gms@gms1:~$ echo bla4 >>x.txt
gms@gms1:~$ grep '\(bla2\|bla3\)' x.txt
bla2
bla3
gms
Kleiner Tipp: Wenn man extended regular expressions verwendet, dann kann man sich die ganzen Backslashs sparen:
Code: Alles auswählen
grep -E '(bla2|bla3)' x.txt
Du wirst es wahrscheinlich nicht ganz so wörtlich, oder nur auf das obige Beispiel bezogen haben, trotzdem möchte ich hinzufügen, daß natürlich auch bei Verwendung von regular expressions, auf das richte Escapen geachtet werden muß.markus_b hat geschrieben:Wenn man extended regular expressions verwendet, dann kann man sich die ganzen Backslashs sparen:
z.B. hier:
Code: Alles auswählen
grep -E 'time\(ms\):[0-9]{4,}' localhost_access2007-01-15.log > test7.txt
Gruß
gms