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

D

davinci80

Mitglied
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?!?!?! ?( ?(
 
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
 
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... :think:

Danke! :help:
 
Hallo
Und meine Antwort hast du gelesen?
Code:
grep -f <suchstringdatei> <logfile> >ausgabedatei

Gruß Wolfgang
 
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

Keine grafische Oberfläche (Debian Installation)

CSV Datei mit sed manipulieren/optimieren/ergänzen

Newbie sucht Hilfe: Zahl aus Datei mit grep/cut/sed lesen und schreiben?

Logfileanalyse-Skript

wer kann mir anhand eines beispiels mein problem lösen

Zurück
Oben