Logfileanalyse-Skript

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von davinci80, 17.04.2007.

  1. #1 davinci80, 17.04.2007
    davinci80

    davinci80 Mitglied

    Dabei seit:
    03.04.2007
    Beiträge:
    25
    Zustimmungen:
    0
    :help: Hallo zusammen!

    habe ein Problem im u. s. Skript...
    Sobald ich es ausführe bekomme ich die Meldung:

    grep: illegal option -- o
    Usage: grep -hblcnsviw pattern file . . .
    kein gzip

    Ich möchte, dass das Skript erkennt sobald eine Datei mit dem Format .gz eingegeben wurde und dementsprechend handelt (siehe Skript)

    Wer kann mir mit seinem Shell-KnowHow weiterhelfen?!? :hilfe2:

    Danke!


    echo "Bitte geben Sie den Dateinamen ein: "
    read Dateiname
    echo "Bitte geben Sie den Namen der Zieldatei ein: "
    read Dateiname2

    TYP="$(file date|grep -o gzip )"

    if [ -z "$TYP" ]
    then
    echo "kein gzip"
    typeset -i i=1
    while (( i <= 8 ))
    do
    grep ${array} $Dateiname >> $Dateiname2.csv
    i=i+1
    done
    grep $Dateiname |sed -ne '/4FBNAV000060/;/4FBTCP006520/p' >> $Dateiname2.csv
    grep $Dateiname |sed -ne '/4FBCHK000611/;/4FBNAV000092/p' >> $Dateiname2.csv
    else
    echo "File ist $TYP"
    typeset -i i=1
    while (( i <= 8 ))
    do
    zgrep ${array} $Dateiname >> $Dateiname2.csv
    i=i+1
    done
    zgrep $Dateiname |sed -ne '/4FBNAV000060/;/4FBTCP006520/p' >> $Dateiname2.csv
    zgrep $Dateiname |sed -ne '/4FBCHK000611/;/4FBNAV000092/p' >> $Dateiname2.csv
    fi

    echo
    echo "Die Logfileanalyse ist beendet. Das Ergebnis finden Sie in der Datei: $Dateiname2.csv"
    echo "-------------------------------------------------------------------------------"
    echo
     
  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. #2 supersucker, 17.04.2007
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Welche grep Version?
    Welches OS?
    Welche Shell?

    Warum muß man euch sowas immer aus der Nase ziehen?
     
  4. #3 Bâshgob, 17.04.2007
    Bâshgob

    Bâshgob freies Radikal

    Dabei seit:
    29.07.2004
    Beiträge:
    2.334
    Zustimmungen:
    0
    Ort:
    Hannover
    Tjä... ;)
     
  5. #4 Wolfgang, 17.04.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Das scheint ein Geheimnis zu sein.
    Die ganze Problematik findet sich ein paar Threads weiter unten:

    http://www.unixboard.de/vb3/showpost.php?p=221609&postcount=18

    Dazu hatte ich sogar noch etwas zur Option -o von grep gesagt.

    Ganz simpel
    Die Ausgabe von file für diverse Dateitypen ansehen.
    Dann nach dem Gewünschten matchen.
    Dann auswerten.

    Thats all.

    Gruß Wolfgang
     
  6. #5 davinci80, 17.04.2007
    davinci80

    davinci80 Mitglied

    Dabei seit:
    03.04.2007
    Beiträge:
    25
    Zustimmungen:
    0
    Versionen...

    gerne würde ich euch alle Systeminfos miteilen,
    aber wie bekomme ich das über die schell heraus...!??!?
     
  7. #6 Wolfgang, 17.04.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Zum letzten mal, bevor ich mich ausklinke.
    Um welches OS (Operating System) geht es?


    Ist es Unix, oder Linux, oder SunOS...

    Falls wir von Windows reden, frag besser woanders nach.

    Gruß Wolfgang
     
  8. #7 davinci80, 17.04.2007
    davinci80

    davinci80 Mitglied

    Dabei seit:
    03.04.2007
    Beiträge:
    25
    Zustimmungen:
    0
    Das es sich hierbei um UNIX handelt müsste doch klar sein!

    Meine Frage bezog sich auf die Befehle, mit denen ich herausfinden kann welche Version es von UNIX ist!
     
  9. devilz

    devilz Pro*phet
    Administrator

    Dabei seit:
    01.05.2002
    Beiträge:
    12.244
    Zustimmungen:
    0
    Ort:
    Hessen
    Welches Unix denn? :devil:
     
  10. #9 davinci80, 17.04.2007
    davinci80

    davinci80 Mitglied

    Dabei seit:
    03.04.2007
    Beiträge:
    25
    Zustimmungen:
    0
    Mensch Leute, macht es mir nicht so schwer!
    Ich bin ein UNIX-Neuling, also wenn ihr Fragen stellt,
    dann gibt mir auch Tipps wie ich die Antworten herausfinden kann!

    Danke.
     
  11. #10 Fallout, 17.04.2007
    Fallout

    Fallout Doppel-As

    Dabei seit:
    02.03.2007
    Beiträge:
    120
    Zustimmungen:
    0
    Hi,

    Code:
    # uname -a
    # cat /etc/issue
    # grep -V
    wären meines Wissens ein paar Informationsträger.

    Des weiteren sollte Dein System - sofern es einigermaßen anfängerfreundlich ist - über Informationsseiten wie die sogenannten manpages verfügen. Wenn dem so ist, solltest Du bei einer Fehlerausgabe wie
    immer sofort mit einem
    Code:
    man grep
    antworten um nachzusehen, ob "Dein" grep (vermutlich nicht GNU, denn "meines" kann -o ;-P) das tatsächlich nicht kann.

    Gruß Daniel
     
  12. #11 supersucker, 17.04.2007
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Äh,

    also eigentlich solltest du wissen welches Betriebssystem du hast.

    Es gibt kein "Unix" mehr, schon lange nicht mehr, dafür aber Dutzende von Derrivaten.

    Kuck mal in /etc/, wenn du Glück hast findest du eine Datei namens release oder so ähnlich.
    Bei mir auf openSuse heisst die z.B. SUSE-Release.

    An dieses Schema halten sich aber nur einige Distros.
     
  13. #12 davinci80, 17.04.2007
    davinci80

    davinci80 Mitglied

    Dabei seit:
    03.04.2007
    Beiträge:
    25
    Zustimmungen:
    0



    Uppala,

    sobald ich man grep eingebe,
    sehe ich, dass das ein SunOS 5.8 System ist :D

    äääähhmmmm, was heisst das jetzt für mich?!!?
    wie kann ich jetzt mein Skript zum laufen bringen
    Übrigens, grep -V geht auch nicht...
     
  14. #13 Wolfgang, 17.04.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    @davinci80

    Zuerstmal möchte ich sagen, dass es keinen Grund gibt diesen Beitrag mit einer Begründung "(HuHu)" zu melden.
    Alles was hier kommt kommt freiwillig, einen Anspruch darauf gibt es nicht.

    Zum Thema:
    Welches OS verwendet wird, sollte aus meiner Sicht schon der User wissen bevor irgendetwas darauf erledigt wird. Erst Recht in der Shell.
    Schließlich ist das ja entscheident, wie man mit der Kiste umgeht, welche Befehle sie versteht und welche nicht.

    Welche Shell du verwendest solltest du auch wissen.
    Eventuell hilft ja die Variable SHELL weiter.
    echo $SHELL
    Schließlich kannst du auch nachsehen, worauf deine Shebang (ertse Zeile eines ausführbaren Skriptes) zeigt.

    Falls du dieses Grep verwendest:
    http://osr507doc.sco.com/en/man/html.C/grep.C.html
    Dann ersetze einfach das -o aus meinem Vorschlag durch -x.

    IMHO sollte man gerade als Anfänger als erstes die entsprechenden Manpages finden.

    Gruß Wolfgang
     
  15. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  16. #14 Fallout, 17.04.2007
    Zuletzt bearbeitet: 17.04.2007
    Fallout

    Fallout Doppel-As

    Dabei seit:
    02.03.2007
    Beiträge:
    120
    Zustimmungen:
    0
    Dann mußt Du für das, was Du mit
    Code:
    TYP="$(file date|grep -o gzip )"
    bezweckst (was ich im übrigen nicht ganz nachvollziehen kann. Außer `file` oder `date` hat bei Dir eine andere Bedeutung als bei mir ?( ) eine Alternative finden.

    Vergleiche auch man grep (GNU/linux) mit man grep (unix)

    Gruß Daniel

    Edit: ok, das date hatte mich zu sehr irritiert ;-P
     
  17. #15 Wolfgang, 17.04.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Wahrscheinlich fehlt der letzte Buchstabe und es soll datei heißen.

    Falls du deine Manpage nicht findest, dann versuch es mal hier:
    http://docsun.cites.uiuc.edu/sun_docs/C/solaris_9/SUNWaman/hman1/ksh.1.html

    Wenn ich meine Glaskugel drehe, sehe ich dass dort vermutlich die ksh Standard ist.

    Insofern sehe ich beim groben Überfliegen schon einen Fehler.
    Die Incrementierung von i=i+1 fliegt dir um die Ohren.

    Hier ein Auszug aus der Manpage:
    Die doppelte while -Schleife kannst du dir sparen, wenn du die if-Abfrage in die while-Schleife legst.

    Gruß Wolfgang
     
Thema:

Logfileanalyse-Skript