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

Re: [OT] Filtern mehrer Zeilen...



Boris Hoeffgen:
> Hallo,
> 
> ich bekomme von einem Kommando folgenden Output:
> ----------------------------------------------------------------------
>       Device #0
>          Device is a Hard drive
>          State                              : Online
> --
>          FRU                                : None
>          S.M.A.R.T.                         : No
>          S.M.A.R.T. warnings                : 0
>          Power State                        : Full rpm
>          Supported Power States             : Full rpm,Powered off
> --
>          NCQ status                         : Enabled
>       Device #1
>          Device is a Hard drive
>          State                              : Ready
> --
>          FRU                                : None
>          S.M.A.R.T.                         : No
>          S.M.A.R.T. warnings                : 400
>          Power State                        : Full rpm
>          Supported Power States             : Full rpm,Powered off
> 
> Diese Ausgabe möchte ich filtern, sodass nur noch
> State                              : Online
> S.M.A.R.T. warnings                : 0
> State                              : Ready
> S.M.A.R.T. warnings                : 400
> 
> übrig bleibt und dann möchte ich die Werte der vier Zeilen auswerten.
> Wie mache ich das am besten?

Ungetestet:

kommando | \
sed -e 's#^ *##' | \
grep -e "^S\.M\.A\.R\.T\. warrnings" -e "^State"

Also erst mit sed Leerzeichen am Anfang der Zeile entfernen und dann die
entsprechenden Zeilen mit grep rausfiltern. Habe auch erst spät gelernt,
dass man grep beliebig viele Patterns per -e mitgeben kann, von denen
nur eins zutreffen muss. Oft schönder als 'grep -E "(A|B|C)"'.

Ja, nur mit awk/perl/python/tcl/bash ginge das sicher auch. :)

J.
-- 
If all my friends had Playstations I would buy a Nintendo to prove my
individuality.
[Agree]   [Disagree]
                 <http://www.slowlydownward.com/NODATA/data_enter2.html>

Attachment: signature.asc
Description: Digital signature


Reply to: