ich stehe auf dem Schlauch. Ich habe ein Apache-log so konfiguriert, dass die letzte Spalte die Zeit enthält, die der Indianer gebraucht hat, um das auszuliefern. Nun hätte ich gerne alle Zeilen, in denen diese letzte Zahl größer als 1 ist. Mit grep komme ich nicht weiter, da es das nicht kann (oder doch?). Ich könnte natürlich ein Perl-Skript schreiben. Lieber wäre mir aber eine Kommandozeile.
erikro wrote:
> ich stehe auf dem Schlauch. Ich habe ein Apache-log so konfiguriert,
> dass die letzte Spalte die Zeit enthält, die der Indianer gebraucht hat,
> um das auszuliefern. Nun hätte ich gerne alle Zeilen, in denen diese
> letzte Zahl größer als 1 ist. Mit grep komme ich nicht weiter, da es das
> nicht kann (oder doch?). Ich könnte natürlich ein Perl-Skript schreiben.
> Lieber wäre mir aber eine Kommandozeile.
>
Huhu,
also ich würde das ganze dann spontan in ein sort schieben.
also ein sort -t <seperator> --key=<feld> , dann bekommst du eine Liste, und
kannst ja schauen welche Einträge an oberster Stelle stehen, also bis runter
zu deinem 1M.
wollte noch loswerden, das man es auch mit awk machen könnte:
cat access_log|awk '{if ($NF > 1)print $0}'
$NF ist der letzte Wert/Wort der Zeile; und wenn dieses grösser als “1” dann
schreibt er die gesamte Zeile (die in der Variablen $0 enthalten ist) raus.