Poszukuje się jednoczęściowego awk (lub sed), aby usunąć linie z wyjścia, jeśli pierwsze pole jest duplikatem.Usuń wiersz, jeśli pole jest duplikatem.
Przykładem usuwania zduplikowanych wierszy Widziałem to:
awk 'a !~ $0; {a=$0}'
spróbował wykorzystać go na podstawie bez powodzenia (myślałem zmianie $ 0 do $ 1-by rade, ale wydawało się, że nie działa).
Państwo poproszeni o usunięcie linii „jeśli pierwsze mecze pole” ... co? Przyjąłem "tę samą wartość, co pierwsze pole w poprzedniej linii wejściowej"; inna osoba przyjęła "jakiś określony wzór". Co zamierzałeś? –
Twoja zmieniona wersja 'awk 'a! ~ $ 1; {a = 1 $} "* działa dla mnie * dla sąsiednich duplikatów (np. posortowany plik). ** Wersja Jonathana Lefflera ** ma tę zaletę, że będzie działać w celu usunięcia duplikatów na nieposortowanym pliku, ale kosztem stworzenia potencjalnie dużej tablicy. –
Myślę, że moim głównym problemem było to, że miałem do czynienia z kilkoma różnymi typami seperatorów polowych i nie definiowałem FS poprawnie – Kyle