So entfernen Sie mit dem Awk-Befehl mehrere Spalten in der CSV-Datei, wenn die Zeile dieselben Werte enthält

So entfernen Sie mit dem Awk-Befehl mehrere Spalten in der CSV-Datei, wenn die Zeile dieselben Werte enthält

Ich habe eine Ausgabe wie diese

4567,4567
5436,5436
1234,5678

Erwartete Ausgabe:

1234,5678

Habe den folgenden Befehl ausprobiert, aber er löscht die Spalte, nicht die Zeile

awk -F, 'NF==2{NF-=1}NF<1{sub(/",.*/,"\"")}1' OFS=,

Vielen Dank für eure Hilfe und Vorschläge

Antwort1

Was ist damit

awk -F, '$1 != $2'

Dies funktioniert durch Vergleichen der ersten beiden durch Kommas getrennten Felder. Jede awk Anweisung hat eine implizite { print }„wenn“-Anweisung, und diese wird hier verwendet. Das Ergebnis ist, dass eine Eingabezeile nur dann gedruckt wird, wenn die beiden Felder nicht übereinstimmen.

Antwort2

Dies ist mein Vorschlag mit sed:

sed '/^\(.*\),\1$/d' file

Ausgabe:

1234,5678

verwandte Informationen