Achtung Anfänger mit grep/awk probs

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Fancan, 29.09.2008.

  1. Fancan

    Fancan Grünschnabel

    Dabei seit:
    25.07.2006
    Beiträge:
    6
    Zustimmungen:
    0
    Hi Leute,

    ich muss wieder scripten, leider viel vergessen und auch die Suchfunktion und auch die FAQ konnte mir nicht weiter helfen.

    Zur Überwachung von Filern brauche ich ein Script. Der Output des Filers ist in etwa:
    Hostname:c:\ Filername:/vol/vol004/Hostname_c__ Snapvaulted 11:22:46 Idle
    Hostname:systemstate Filername:/vol/win_vol004/Hostname_systemstate Snapvaulted 11:23:04 Idle

    Was ich jetzt brauche ist ein Script, was mir im Grund nur die Zeilen anzeigt, bei welchen die Stundenzahl (Hier ja die 11) grösser ist als 24.

    Meine Probleme gehen ja schon da los, daß das mögliche Trennzeichen ":" unterschiedlich oft vorkommt.

    OS ist Linux : 2.6.16.54-0.2.5-smp
    Shell? Was sich anbietet, da bin ich glaube ich flexibel.

    Vielen Dank im Vorraus

    Fancan
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. Shorti

    Shorti Routinier

    Dabei seit:
    08.04.2007
    Beiträge:
    271
    Zustimmungen:
    0
    kannst du mal was exaktes posten? oder ist das schon die exakte ausgabe?
     
  4. Fancan

    Fancan Grünschnabel

    Dabei seit:
    25.07.2006
    Beiträge:
    6
    Zustimmungen:
    0
    Hi Shorti,

    ja, das ist die Ausgabe die der Befehl den ich auswerten will ausgibt.
    Habe nur eben die Host und Filernamen rausgenommen.
    Hier ist die Überschriftszeile der Ausgabe:
    Source Destination State Lag Status

    Danke und Gruss
    Fancan

    PS: Dachte schon daran eine Art verschalteten awk zu machen, aber das krieg ich nicht hin. Also erst ein awk ' [print $4} ' was die Gesamtzeit wäre und dann | awk ' {print $1}' oder so, aber das haut nicht hin.
     
  5. #4 Aqualung, 29.09.2008
    Aqualung

    Aqualung Routinier

    Dabei seit:
    12.02.2008
    Beiträge:
    404
    Zustimmungen:
    0
    Als Schnellschuss würde ich

    Code:
    grep "[2-9][4-9]:[0-5][0-9]:[0-5][0-9]"
    zur Diskussion stellen.
     
  6. Fancan

    Fancan Grünschnabel

    Dabei seit:
    25.07.2006
    Beiträge:
    6
    Zustimmungen:
    0
    Ich werd bekloppt.
    Volltreffer.
    Ich habs im Vorfeld schon geahnt, daß meine Idee mit den verschachtelten awks völlig überzogen ist und es eine supereinfache Variante zur Lösung meines kleinen Problems gibt.

    Vielen Dank, das hilft mir schon sehr weiter!!!

    Gruss
    Fancan

    PS: Jetzt muss ich nur noch tüfteln, wie ich auch die Zeilen bekomme, die beispielsweise 110:34:21 haben, also 110 Stunden alt sind. Wahrscheinlich erstmal 3 Grepabfragen, bis es mal grundsätzlich geputzt ist, denn im Augenblick geht das hier bis in die 1000er Stunden.
     
  7. #6 Aqualung, 29.09.2008
    Aqualung

    Aqualung Routinier

    Dabei seit:
    12.02.2008
    Beiträge:
    404
    Zustimmungen:
    0
    Code:
    grep -E "[2-9][4-9]:[0-5][0-9]:[0-5][0-9]|[1-9]+[0-9][0-9]:[0-5][0-9]:[0-5][0-9]"
    
     
  8. Fancan

    Fancan Grünschnabel

    Dabei seit:
    25.07.2006
    Beiträge:
    6
    Zustimmungen:
    0
    Hi Aqualung,

    danke nochmal. Aber das -E löst das Problem nicht weiter.
    Folgende Zeile kriege ich damit nicht:
    Hostname:c:\ Filername:/vol/vol004/Hostname_c__ Snapvaulted 720:02:06 Idle

    Aber wie gesagt, wenns einmal aufgeräumt ist, wird der Wert hoffentlich nie wieder 3stellig ;-)

    Danke und Gruss
    Fancan
     
  9. #8 Aqualung, 30.09.2008
    Aqualung

    Aqualung Routinier

    Dabei seit:
    12.02.2008
    Beiträge:
    404
    Zustimmungen:
    0
    Die sollte aber mit der Zeile gematcht werden. Vllt. statt "grep -E" (äquivalent) "egrep" verwenden.
     
  10. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  11. Rvg

    Rvg Doppel-As

    Dabei seit:
    11.07.2004
    Beiträge:
    141
    Zustimmungen:
    0
    so in etwa?
     
  12. #10 Gott_in_schwarz, 02.10.2008
    Zuletzt bearbeitet: 02.10.2008
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    Wozu "-P" (welches wohl bei nicht so vielen Distributionen mit einkompiliert ist) benutzen, wenns genauso auch mit dem "standard" (GNU) grep geht:
    Code:
    echo -e 'foo\n 11:11:11\n 111:11:11\n 1:11:11'|grep ' [0-9]\{2,4\}\(:[0-9]\{2\}\)\{2\}'
    edit: Wenn man denn wirklich mal die Perl-Regex-Engine braucht ist das portabelste imho direkt perl zu verwenden:
    Code:
    echo 'foo bar bar '|perl -ne 'print if /(\w{2,5}\s+){2}\1/'
    Perl sollte quasi überall vorhanden sein.
     
Thema:

Achtung Anfänger mit grep/awk probs

Die Seite wird geladen...

Achtung Anfänger mit grep/awk probs - Ähnliche Themen

  1. Strom Sparen auf Laptop - Achtung Anfänger

    Strom Sparen auf Laptop - Achtung Anfänger: Hallo, ich habe Debian Etch auf einem USB-Stick installiert. Der PC soll nur als Router und DNS/DHCP Server dienen. Dafür habe ich nur das...
  2. Installationsprobleme... ACHTUNG: Anfänger ==> Verzweifelung!

    Installationsprobleme... ACHTUNG: Anfänger ==> Verzweifelung!: Hallo zusammen! Nachdem mir mein Windows jetzt zum x-tausendsten Mal abgestürzt ist, habe ich mich entschieden, auf Linux umzusteigen. Gesagt -...
  3. Linux Journal unter NSA-Beobachtung

    Linux Journal unter NSA-Beobachtung: Gestern wurde in deutschen Medien breitflächig über die Überwachung der Verzeichnisserver des Tor-Projekts berichtet, deren einer in Deutschland...
  4. LibreOffice: Entwicklung eines Forks unter wissenschaftlicher Betrachtung

    LibreOffice: Entwicklung eines Forks unter wissenschaftlicher Betrachtung: Zwei schwedische Wissenschaftler haben eine Arbeit im Journal of Systems and Software veröffentlicht, die sich mit der Entwicklung von LibreOffice...
  5. Monitor dauerhaft auf dpms einstellen (Achtung Crossposting)

    Monitor dauerhaft auf dpms einstellen (Achtung Crossposting): Hallo Wo stehen die defaultwerte für dpms ? Wenn ich xset -q eintippe (momentan auf sabayon, dann erscheint dort, letzte Zeilen:...