Re: Bash Einzeiler Zeit+Datum letzter Eintrag dmesg
Am Samstag, 20. August 2011 schrieb David Haller:
> >Syslog:
> >~# time { for i in {1..1000}; do LASTENTRY=`dmesg | tail -n1`;
> >LASTTIME=${LASTENTRY%%]*}; grep ${LASTTIME#[} /var/log/syslog | cut
> >-c-15; done > /dev/null; }
> >
> >real 0m15.713s
> >user 0m5.204s
> >sys 0m11.057s
>
> Wobei man hier ergänzen sollte: 'cut -c' oder andere zeichenabhängiger
> Kram sind immer "fragil". Musterbasierte wie cut -fN -dX, die awk-
> oder sed-Variante sind robuster.
Nicht immer.
martin@merkaba:~> cut -f 1,2 -d" " /var/log/syslog | uniq -c
349 Aug 26
fällt bei zwei Zeichen zwischen Monatsname und Datum auf die Schnauze.
martin@merkaba:~> cut -c1-6 /var/log/syslog | uniq -c
349 Aug 26
arbeitet auch dann.
martin@merkaba:~> awk '{ print $1, $2 }' /var/log/syslog | uniq -c
349 Aug 26
funktioniert auch.
--
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA B82F 991B EAAC A599 84C7
Reply to: