Ich habe hier auf Stackexchange eine Antwort dazu gefunden, wie man Kommas zwischen Anführungszeichen einer durch Kommas getrennten CSV-Datei entfernt (kann dort keinen Kommentar abgeben, da ich nicht über die erforderlichen Kenntnisse verfüge).
awk -F'"' -v OFS='' '{ for (i=2; i<=NF; i+=2) gsub(",", "", $i) } 1' infile
Wie kann ich die Ausgabe in eine Datei umleiten, anstatt sie auf der Konsole auszudrucken?
Ich habe verschiedene Kombinationen von „>“ ausprobiert und dabei nur leere Dateien oder Fehler erhalten. „>>“ hat jedes Mal einen Fehler ausgegeben.
Antwort1
Die Verwendung der Standardumleitung funktioniert bei Standardausgabe:
$ awk -F'"' -v OFS='' '{ for (i=2; i<=NF; i+=2) gsub(",", "", $i) } 1' infile > test.out
$
Dadurch werden weiterhin Fehler auf dem Bildschirm gedruckt.
Wenn Sie jedoch möchten, dass Fehler und Standardausgabe in die Datei übernommen werden, führen Sie Folgendes aus:
$ awk -F'"' -v OFS='' '{ for (i=2; i<=NF; i+=2) gsub(",", "", $i) } 1' infile 2>&1 > test.out
$
Oder Sie können die Fehler von der Standardausgabe trennen:
awk -F'"' -v OFS='' '{ for (i=2; i<=NF; i+=2) gsub(",", "", $i) } 1' infile 2> errors.out 1 > test.out