Sie können sort
die Arbeit erledigen:
sort -k2,2 -u
-k2,2
bedeutet nur in der 2. Spalte zu arbeiten, -u
bedeutet einzigartig.
Ich habe einen Datensatz, der so aussieht:
AAAAA 11111 Data1 AAAAA 11111 Data2 AAAAA 11111 Data3 AAAAA 11112 Data4 AAAAA 11112 Data5 AAAAA 11112 Data6 AAAAA 11112 Data7 AAAAA 11113 Data8 AAAAA 11114 Data9
Und so weiter. Ich möchte nach dem 2. Feld filtern und dann eine Uniq ausführen, um nur den ersten Eintrag zu ziehen. In diesem Fall möchte ich die Ausgabe wie folgt:
AAAAA 11111 Data1 AAAAA 11112 Data4 AAAAA 11113 Data8 AAAAA 11114 Data9
Das scheint ziemlich einfach zu sein, aber die Methode rutscht mir einfach aus. Irgendeine Hilfe?
Sie können sort
die Arbeit erledigen:
sort -k2,2 -u
-k2,2
bedeutet nur in der 2. Spalte zu arbeiten, -u
bedeutet einzigartig.
Es gibt ein idiomatisches Stück Ahnung, um es zu tun:
awk '!seen[$2]++' file
Drucken Sie die Zeile nur aus, wenn der Wert in der 2. Spalte zum ersten Mal angezeigt wird
Sie können den folgenden Befehl verwenden, um das Problem zu lösen
sort new.txt | rev | uniq -s 6 | rev
Die Ausgabe der Datei ist wie folgt
Hoffe das hilft