Um csv-Datei mit awk zu verarbeiten, würde ich die folgende Methode bevorzugen, um automatisch Anführungszeichen zu berücksichtigen, nämlich preprocess mit sed.
Für Ihre konkrete Frage würde ich
verwenden %Vor%Wenn Sie auch Dateien mit Zeichenfolgenfeldern, die Anführungszeichen enthalten (die in csv-Dateien durch doppelte Anführungszeichen dargestellt werden), korrekt verarbeiten möchten, müssen Sie den sed-Ausdruck wie folgt ändern:
%Vor% Diese Methode hat den Vorteil, dass Sie einige Felder mit awk korrekt drucken oder bearbeiten können. Wenn Sie zum Beispiel das erste und fünfte Feld aus den gefilterten Zeilen drucken möchten, getrennt durch :
, können Sie jetzt
(Wenn Ihnen der Unterschied zwischen den Methoden nicht klar ist, können Sie den letzten awk-Befehl ohne sed-Vorverarbeitung ausprobieren)