Ergebnis 1 bis 5 von 5

Thema: Im Logfile nach Einträgen aus einer anderen Datei suchen und in csv.-Datei schreiben

  1. #1
    Mitglied
    Registriert seit
    03.04.2007
    Beiträge
    25

    Im Logfile nach Einträgen aus einer anderen Datei suchen und in csv.-Datei schreiben

    Hallo!

    Bin noch nicht so fit in Shellskript-Programmierung,
    deshalb benötige ich Hilfe von euch!

    Also,

    ich möchte nach folgenden Einträgen suchen:
    4FBTCP000400
    4FBTCP000500
    4FBCHK000520
    4FBNAV000050
    4FBNAV000092
    4FBTCP000500
    4FBTCP000400
    4FBCHK000512
    4FBNAV000060
    4FBTCP006520
    4FBTCP000200
    4FBTCP007200
    4FBNAV002200
    4FBNAV000090
    4FBCHK000611
    4FBCHK000612
    4FBNAV000092

    Diese sind in einer seperaten Datei gespeichert.
    In einem Logfile werden auch diese Einträge geschrieben und per Skript,
    möchte ich genau die gleichen herausfiltern und das Ergebnis in eine csv.-Datei schreiben lassen. Es sollte möglich sein, dass der Skript-User beim Start des Skriptes angeben kann, welche Logfiles nach den Einträgen untersucht werden sollen???

    Wer kann mir helfen?!?!?!

  2. #2
    Foren Gott
    Registriert seit
    24.04.2005
    Ort
    Erfurt
    Beiträge
    3.978
    Hallo

    Ich weiß zwar nicht wie deine Ausgabe aussehen soll, aber Parameterübergabe und grep sollten das für dich erledigen.

    Schau dir mal bei grep die Option -f (Strings aus File suchen) an.
    Die Parameter innerhalb eines Scriptes lassen sich mit positionalen $n auslesen.
    n ist die Position.
    Also erster =$1

    Genauere Angaben lassen sich so pauschal nicht machen. Dazu sind deine Datenangaben zu verschwommen.

    Tipp:
    Möglichst immer ein paar Eingabedaten mit erwarteter Ausgabe nebst verwendeter Shell mit angeben.
    Auch eigene Versuche und was nicht klappt sind nicht schlecht.

    Gruß Wolfgang
    Ich bin pure Nostalgie

  3. #3
    Mitglied
    Registriert seit
    03.04.2007
    Beiträge
    25

    Im Logfile nach Einträgen aus einer anderen Datei suchen und in csv.-Datei schreiben

    Hi!

    Also, ich versuche meine Anforderungen zu konkretisieren:

    Es werden bestimmte Ausgaben in ein Logfile geschrieben, die unteranderem folgende Einträge beinhalten:

    4FBTCP000400
    4FBTCP000500
    4FBCHK000520
    4FBNAV000050
    4FBNAV000092
    4FBTCP000500
    4FBTCP000400
    4FBCHK000512
    4FBNAV000060
    4FBTCP006520
    4FBTCP000200
    4FBTCP007200
    4FBNAV002200
    4FBNAV000090
    4FBCHK000611
    4FBCHK000612
    4FBNAV000092

    Die o. g. Einträge habe ich in eine seperate Datei abgespeichert.
    Ich möchte nun ein Skript haben, das alle o. g. Einträge herausliest (aus der gespeicherten Datei) und nach denen im Logfile sucht und anschließend die Ausgaben in eine Datei hineinschreibt. Im Logfile befinden sich hinter den o. g. Einträgen weitere Einträge die für mich wichtig sind. Sie sind hintereinander weg geschrieben so, dass ich nur nach den o. g. Einträgen suchen brauche, da sie am Anfang einer Zeile stehen.

    Ich hoffe es ist jetzt etwas mehr verständlicher...

    Danke!

  4. #4
    Foren Gott
    Registriert seit
    24.04.2005
    Ort
    Erfurt
    Beiträge
    3.978
    Hallo
    Und meine Antwort hast du gelesen?
    Code:
    grep -f <suchstringdatei> <logfile> >ausgabedatei
    Gruß Wolfgang
    Ich bin pure Nostalgie

  5. #5
    Mitglied
    Registriert seit
    03.04.2007
    Beiträge
    25

    Im Logfile nach Einträgen aus einer anderen Datei suchen und in csv.-Datei schreiben

    Hallo,
    ich habe versucht es Dir per Shell-Code zu verdeutlichen,
    vielleicht kannst Du mir dadurch helfen.
    Übrigens, "grep -f" funzelt nicht bei mir. Befehl ist im unbekannt.

    #!/bin/bash
    # Skript zur Analyse eines FzG_Betriebsdatenupdates
    # Das Skript dient ledeglich zur Analyse des tcpipserver_Logs der FgBZ.
    # Zudem, werden die Ausgaben des Skriptes in eine gewünschte Datei umgelenkt.

    VAR1=4FBTCP000400
    VAR2=4FBTCP000500
    VAR3=4FBCHK000520
    VAR4=4FBNAV000050
    VAR5=4FBNAV000092
    VAR6=4FBTCP000500
    VAR7=4FBTCP000400
    VAR8=4FBCHK000512
    VAR9=4FBNAV000060
    VAR10=4FBTCP006520
    VAR11=4FBTCP000200
    VAR12=4FBTCP007200
    VAR13=4FBNAV002200
    VAR14=4FBNAV000090
    VAR15=4FBCHK000611
    VAR16=4FBCHK000612
    VAR17=4FBNAV000092


    echo "Bitte geben Sie den Dateinamen ein: "
    read Dateiname
    echo "Bitte geben Sie den Zieldateinamen ein: "
    read Dateiname2

    grep VAR1...VAR17 $Dateiname > $Dateiname2.csv

    Was ich durch die o. g. Angaben möchte ist,

    1. Nach den 17 Einträgen soll in einem von User gewünschten Datei (Die Suche soll in einer gezipten sowie auch in
    einer nicht gezipten Datei funktionieren) durchsucht werden.

    2. Die Ausgaben bzw. Ergebnisse, sollen in die Datei gespeichert werden,
    die der User angegeben hat (siehe Dateiname2)

    3. Die Ausgaben sollen nach den einzelnen Variablen in einer csv.-Datei sortiert und abgespeichert werden.

Ähnliche Themen

  1. Werte einer Datei in Feldern einer anderen suchen
    Von Praktikant4614 im Forum Shell-Skripte
    Antworten: 1
    Letzter Beitrag: 30.03.2007, 14:02
  2. Antworten: 10
    Letzter Beitrag: 22.03.2007, 13:05
  3. Antworten: 22
    Letzter Beitrag: 30.12.2006, 09:26
  4. Suchen und Ersetzen Skript auf Basis einer externen Datei
    Von Sidewinder im Forum Shell-Skripte
    Antworten: 7
    Letzter Beitrag: 28.09.2006, 10:24
  5. Linux nach datei suchen lassen
    Von daemon_vs_tux im Forum Shell-Skripte
    Antworten: 6
    Letzter Beitrag: 11.09.2006, 13:40

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •