meandtheshell hat geschrieben:
kannst du das erläutern?
markus
Das ist eine längere Geschichte
Der von mir gepostete Code ist ein Teil einer Funktion eines längeren Shellscriptes. Dabei geht es darum, unter bestimmten Umständen eine dbf-Datei nach MySQL einzulesen und die Daten dann weiter zu verarbeiten. Die dbf-Datei kann in verschiedenen Versionen vorliegen (hier roh oder fertig), die dbf-Datei könnte bereits eingelesen worden sein usw.
Ich kann das ganze leider nicht mit MySQL machen. Der SQL-Server spielt zwar noch mit aber der Nameserver hatte schon öfter Aussetzer. Also prüfe ich am Anfang, ob bereits eine SQL-Abfrage stattgefunden hat und wenn nicht lasse ich eine allgemeine Abfrage laufen und schreibe das Ergebnis in eine temporäre Datei. Dann prüfe ich ein Verzeichnis auf zu verarbeitende Dateien und schreibe das Ergebnis ebenfalls in eine temporäre Datei.
Mit dem Script gehe ich durch die Dateiliste. Ich lese jede Zeile einzeln ein und vergleiche die Werte mit der Datei aus der SQL-Abfrage.
Soweit funktioniert das ganze jetzt auch. Bereits vorhandene Einträge werden mit grep gefunden und die entsprechende Zeile wird in eine Logdatei geschrieben.
Um diese Datei aber von der weiteren Verarbeitung auszuschliessen muss ich sie aus der Dateiliste löschen. Die Zeile hat zwei Merkmale nach denen ich sie eindeutig identifizieren kann. Einmal das Datum (z.B. 060201) und zweitens die Dateiart (roh oder fertig).
Ich möchte jetzt nur die Zeile löschen in der sowohl das Datum als auch die Dateiart mit den von grep gefundenen Werten übereinstimmen.
Carsten