Linuxneuling
Tripel-As
Moin,
ich suche nach einem schnelleren Lösung. Für Webseitenstatistik muss ich nach 2 Strings suchen, das ich auch mit grep mache. Das Logfile vom Webserver hat rund 600 000 bis 1 Mio Zeilen, mit grep filtere ich nach 2 Strings in eine Datei. Leider erfasst grep ALLE Zeilen, die abc enthalten. Um genau die gewünschte Zeilen zu erhalten kann ich mit cut -d" " -f7 lösen. Jedoch wenn ich es wie folgend ausführe, dauert es ewig:
.
.
.
EDIT (autom. Beitragszusammenführung) :
.
habe das problem schon mit awk wie folgend gelöst!
ich suche nach einem schnelleren Lösung. Für Webseitenstatistik muss ich nach 2 Strings suchen, das ich auch mit grep mache. Das Logfile vom Webserver hat rund 600 000 bis 1 Mio Zeilen, mit grep filtere ich nach 2 Strings in eine Datei. Leider erfasst grep ALLE Zeilen, die abc enthalten. Um genau die gewünschte Zeilen zu erhalten kann ich mit cut -d" " -f7 lösen. Jedoch wenn ich es wie folgend ausführe, dauert es ewig:
Code:
cat 2009-10-14-grep.log | while read LINE; do if echo $LINE | cut -d" " -f7 | grep abc > /dev/null; then echo $LINE >> output_abc.log; fi; done
.
.
EDIT (autom. Beitragszusammenführung) :
.
habe das problem schon mit awk wie folgend gelöst!
Code:
time awk '$7 ~ /abc/{print}' 2009-10-14-access.log > output_abc.log
Zuletzt bearbeitet: