[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: