Thread Zeilen Suchen und Zählen (9 answers)
Opened by UliK at 2016-06-27 14:35

Linuxer
 2016-06-27 15:03
#184969 #184969
User since
2006-01-27
3872 Artikel
HausmeisterIn

user image
Zum Einstieg empfehlenswert ist http://perl-tutorial.org/, dort findest Du das "Modern Perl: The Book 2014" als gutes Einstiegsbuch.

In Perl könnte man es so ansetzen:
- Datei zum Lesen öffnen;
- zeilenweise lesen
- jede Zeile untersuchen; wenn sie mit "1L" beginnt, Zaehler hochzaehlen
- optional: wenn Limit überschritten wurde, Abbruch der Leseschleife
- Nach der Schleife Zaehler auswerten; wenn zu groß, Mail senden
- Zum Mailsenden kann man auf Module zurückgreifen; z.B. CPAN:Mail::Sender



Alternativ ginge das auch mit Shell-Tools (edit: Ich habe eigentlich nur Linux-Maschinen zur Hand, keine Ahnung wie weit das auf einem AIX-Server abbildbar ist. Da wäre dann Perl vielleicht wieder portabler? :/edit):

GNU grep kennt den Schalter -c mit dem man Zählen lassen kann.
Und mit -m X kann man die Suche abbrechen lassen, sobald X Treffer gefunden würden...

Schnell zusammengetippt, ungetestet:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
#! /bin/bash

logfile=/path/to/logfile.log

# search and count lines beginning (^) with "1L"
if [ $( grep -cm 31 "^1L" $logfile ) -gt 30 ]; then
mail -s "Warning: too many 1L entries" admin@example.org <<EOM
There is a problem
.
EOM
fi

Last edited: 2016-06-27 18:01:22 +0200 (CEST)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Zeilen Suchen und Zählen