Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
Methos
- Beiträge: 87
- Registriert: 05.12.2003 13:43:14
Beitrag
von Methos » 11.06.2005 17:12:48
wie gesagt wahrscheinlich ganz simpel
möchte folgendes mit egrep aus einer Datei holen.
[05/Jun/2005:10:37:32
versuch das ganze mit
Code: Alles auswählen
egrep '\d' test.log
erhalte allerdings gar nichts. mit \w klappts aber das sollte doch eigenltich so klappen oder?
-
godsmacker
- Beiträge: 902
- Registriert: 16.03.2003 21:50:26
- Lizenz eigener Beiträge: Artistic Lizenz
- Wohnort: Chemnitz
-
Kontaktdaten:
Beitrag
von godsmacker » 11.06.2005 17:19:27
\d matched auf ein digit, \w auf einen Buchstaben, - und IIRC.
Wenn Du etwas wie '[05/Jun/2005:10:37:32' matchen willst, dann wird's etwas komplexer:
\d{2}\/\w{3}\/\d{4}(:\d{2}){3}
Gruesse,
Flo.
-
Methos
- Beiträge: 87
- Registriert: 05.12.2003 13:43:14
Beitrag
von Methos » 11.06.2005 17:25:09
also wenn ich ein
egrep '\d{2}' ausführe erhalte ich schon mal gar nichts.
Den obigen Befehl könnte ich doch aber auch so ausführen oder?
egrep '\d\d'
-
godsmacker
- Beiträge: 902
- Registriert: 16.03.2003 21:50:26
- Lizenz eigener Beiträge: Artistic Lizenz
- Wohnort: Chemnitz
-
Kontaktdaten:
Beitrag
von godsmacker » 11.06.2005 17:30:14
Ja, \d{2} entspricht \d\d. Ich bin mir nicht sicher wie weit grep Regex denn beherrscht. Die obige Regex sollte aber Perl kompatibel sein.
-
Methos
- Beiträge: 87
- Registriert: 05.12.2003 13:43:14
Beitrag
von Methos » 11.06.2005 20:51:59
tja egrep klappt leider irgendwie nicht grml
weiß noch jemand Rat?
-
fuzzy
- Beiträge: 1021
- Registriert: 04.10.2003 12:15:52
Beitrag
von fuzzy » 11.06.2005 21:29:03
Hallo Methos,
sorry ich habe die Frage irgendwie nicht verstanden, wie sieht die Datei vorher aus und wie soll sie nachher aussehen? ...über je 5 Zeilen würde ich mich freuen
Gruß fuzzy
-
h-man
- Beiträge: 745
- Registriert: 05.02.2003 13:10:08
- Wohnort: Berlin
-
Kontaktdaten:
Beitrag
von h-man » 11.06.2005 21:54:58
Wenn es perl-like sein soll:
egrep --help:
Regexp selection and interpretation:
-E, --extended-regexp PATTERN is an extended regular expression
-F, --fixed-strings PATTERN is a set of newline-separated strings
-G, --basic-regexp PATTERN is a basic regular expression
-P, --perl-regexp PATTERN is a Perl regular expression
-e, --regexp=PATTERN use PATTERN as a regular expression
.....
Nieder mit der Schwerkraft.
-
Methos
- Beiträge: 87
- Registriert: 05.12.2003 13:43:14
Beitrag
von Methos » 12.06.2005 14:16:56
es soll ansich ja nichts verändert werden, möchte nur logcheck etwas anpassen und noch zusätzliche Sachen freischalten.
Aber sobald ich die Zeile mit dem Datum eingebe klappt es nicht mehr.
Filter ich ohne Datum passt es.
-
fuzzy
- Beiträge: 1021
- Registriert: 04.10.2003 12:15:52
Beitrag
von fuzzy » 12.06.2005 19:06:59
Hallo Methos,
meinst Du soetwas?
Code: Alles auswählen
fuzzy@sid:/tmp$ cat test.log
wie gesagt wahrscheinlich ganz simpel Smile
möchte folgendes mit egrep aus einer Datei holen.
[05/Jun/2005:10:37:32 sid kernel: EXT3 FS on hdb2, internal journal
öaslkd asödlk asdölk ajsdöflka sjdf
Code:
egrep '\d' test.log
und Du möchtest z.B. nach "diesem Datum" und "Code" suchen?
Code: Alles auswählen
fuzzy@sid:/tmp$ egrep "Code|\[[0-9]{2}\/[[:alnum:]]{3}\/[0-9]{4}\:[0-9]{2}\:[0-9]{2}\:[0-9]{2}" test.log
[05/Jun/2005:10:37:32 sid kernel: EXT3 FS on hdb2, internal journal
Code:
...sofern das die Frage war, geht es
...ich hoffe hier lesen noch einige mit, die diesen "Wust" "entschlacken" können
Gruß fuzzy
PS: ist diese Zeile am Anfang oder nicht -> eventuell noch "Code|^\[[..."
-
Methos
- Beiträge: 87
- Registriert: 05.12.2003 13:43:14
Beitrag
von Methos » 13.06.2005 11:26:20
Hallo fuzzy,
vielen Dank. Das hat nun geklappt.
schönen Tag noch