Ich habe eine CSV-Datei mit mehreren Spalten. Einige haben möglicherweise Duplikate über den 4. col (col4).Unix Löschen Doppelte Zeilen von CSV basierend auf 2 Spalten
Ich muss die ganze Zeile, wo die Duplikate auftritt, löschen und nur 1 Zeile behalten. Die Entscheidung dieser Zeile wird getroffen, indem der höchste Wert von Spalte 1 erhalten wird.
Unten ist ein Beispiel:
col1,col2,col3,col4
1,x,a,123
2,y,b,123
3,y,b,123
1,z ,c,999
Duplizieren in Zeile 1 und row2 und row3 gefunden werden, sollte nur dritte Reihe gehalten werden, weil spalte1 (row3)> spalte1 (row2)> spalte1 (row1) .
Für diesen Code nun Duplikate in col4 löschen, ohne auf col1 suchen
awk '!seen[$4]++' myfile.csv
Ich möchte eine Bedingung hinzuzufügen col1 für jede Duplikate zu überprüfen und diejenigen mit dem niedrigsten Wert in col1 löschen und die Zeile zu halten mit höchster Wert n col1
Ausgang sollte sein:
col1, col2, col3, col4
3,y,b,123
1,z,c,999
Vielen Dank!
Nein, das nicht klar ist, könnten Sie weitere Informationen setzen und input_file am erwarteten Ausgabe in Post, probieren Sie bitte so, dass alle hier helfen könnten. – RavinderSingh13
Es gibt ein Eingabe- und Ausgabebeispiel, bitte lesen Sie es sorgfältig. –