BASH Script Problem.
BASH Script Problem.
Hallo alle zusammen.
ich habe hier ein kleines Problem. Vielleicht auch nur einen Denkfehler....
Ich möchte aus einer LogDatei Dateinamen extrahieren. Dieses geht auch mit einem
" cat $DATEINAME | grep \/home\/LDT.....\/X "
Mit dieser Abfrage bekomme ich herraus, ob in einem Verzeichnis (/home/LDT*) eine Datei (X123456789.LDT) erstellt wurde. Mit dem Befehl
" grep ^...310'[:1|2:]'[a-Z] $LDTDATEI "
bekomme ich einen Satz an Zeilen, die ich ausgegeben haben möchte. Aber ich bekomme diese beiden Befehlszeilen einfach nicht kombiniert. So dass die Dateinamen aus dem 1. Befehl als Eingabe für den 2. Befehl genommen werden.
Vielleicht hat ja jemand von euch eine Idee, wie ich dieses Problem lösen kann...
Vielen dank schon mal für eure Hinweise und Hilfen im vorraus.
Sascha
ich habe hier ein kleines Problem. Vielleicht auch nur einen Denkfehler....
Ich möchte aus einer LogDatei Dateinamen extrahieren. Dieses geht auch mit einem
" cat $DATEINAME | grep \/home\/LDT.....\/X "
Mit dieser Abfrage bekomme ich herraus, ob in einem Verzeichnis (/home/LDT*) eine Datei (X123456789.LDT) erstellt wurde. Mit dem Befehl
" grep ^...310'[:1|2:]'[a-Z] $LDTDATEI "
bekomme ich einen Satz an Zeilen, die ich ausgegeben haben möchte. Aber ich bekomme diese beiden Befehlszeilen einfach nicht kombiniert. So dass die Dateinamen aus dem 1. Befehl als Eingabe für den 2. Befehl genommen werden.
Vielleicht hat ja jemand von euch eine Idee, wie ich dieses Problem lösen kann...
Vielen dank schon mal für eure Hinweise und Hilfen im vorraus.
Sascha
- feltel
- Webmaster
- Beiträge: 10474
- Registriert: 20.12.2001 13:08:23
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Leipzig, Germany
-
Kontaktdaten:
Wie wärs hiermit:
?
Code: Alles auswählen
find '/home/DLT*' -name 'X123456789.LDT' -print0 | xargs -0 grep ^...310'[:1|2:]'[a-Z]
debianforum.de unterstützen? Hier! | debianforum.de Verhaltensregeln | Bitte keine Supportanfragen per PM
- Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
Code: Alles auswählen
for inhalt in `grep \/home\/LDT.....\/X $DATEINAME`
do
grep ^...310'[:1|2:]'[a-Z] $inhalt
done
Hallo alle zusammen...
jetzt habe ich selbst eine Lösung gefunden:
" grep ^310'[:1|2:]'[a-Z] `cat $LOGDATEI |grep \/home\/LDT.....\/X |`
aber die Lösung mit der "FOR-Schleife" war eigentlich das, was ich mir vorgestellt habe... Ich werde mein Script wohl noch mal anpassen....
Vielen dank für eure Hilfe.
Sascha
jetzt habe ich selbst eine Lösung gefunden:
" grep ^310'[:1|2:]'[a-Z] `cat $LOGDATEI |grep \/home\/LDT.....\/X |`
aber die Lösung mit der "FOR-Schleife" war eigentlich das, was ich mir vorgestellt habe... Ich werde mein Script wohl noch mal anpassen....
Vielen dank für eure Hilfe.
Sascha
- Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
na dann aber richtig:
Code: Alles auswählen
grep ^310'[:1|2:]'[a-Z] `| grep \/home\/LDT.....\/X $LOGDATEI`
genau, und nicht falschSavar hat geschrieben:na dann aber richtig:
Code: Alles auswählen
grep ^310'[:1|2:]'[a-Z] `grep \/home\/LDT.....\/X $LOGDATEI`
- Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
nüschts.. war nen C'n'P Fehler naja.. auch ein Gott macht FehlerJoghurt hat geschrieben:genau, und nicht falschSavar hat geschrieben:na dann aber richtig:Was sollte die Pipe da?Code: Alles auswählen
grep ^310'[:1|2:]'[a-Z] `grep \/home\/LDT.....\/X $LOGDATEI`