Ich habe ein tägliches Skript, das ein Fehlerprotokoll extrahieren und Benutzer aus der Master-CSV-Datei entfernen muss, bevor Sie in die Datenbank hochladen. Ich bin in der Lage, awk zu verwenden, um die erste Spalte mit großartigen Ergebnissen zu extrahieren. Der Fehler, den ich von meiner Drittanbieter-Anwendung erhalte, enthält jedoch ein Komma in der Fehlerspalte. Dies verhindert eine genaue Übereinstimmung und verursacht Probleme.Übereinstimmendes Muster mit einem Komma in csv-Spalte eingebettet
Dies ist ein Beispiel der Fehlerdatei für mich zurück
"USER_ID","FIRSTNAME","LASTNAME","ERROR"
"CA781558","Dani","Roper","parent is inactive, cannot update record"
"BT055163","Alexis","Richardo","parent is inactive, cannot update record"
"LN764767","Peter","Rajosz","no parent record, update denied"
"SG839717","Jerry","Alindos","parent is inactive, cannot update record"
ich genau übereinstimmen muß „Elternteil inaktiv ist, kann nicht Datensatz aktualisieren“, diese zu verwenden, um die übergeordnete Datensatz zu aktualisieren, so es kann aktualisiert werden. Ebenso muss ich die "keine übergeordnete Datensatz" übereinstimmen, so dass ich ein Elternteil für diesen Datensatz hinzufügen und verarbeiten kann. In Wirklichkeit habe ich eine Reihe ähnlicher Fehlermeldungen, die unterschiedliche Aktionen erfordern. Die Übereinstimmung mit der genauen Zeichenfolge und dem Komma ist kritisch.
Die erwartete Ausgabe lautet:
"USER_ID"
"CA781558"
"BT055163"
"SG839717"
Verwenden Sie eine Sprache mit einem richtigen CSV-Parser. – chepner