awk drucken eindeutige Zeilen basierend auf Spalte-Feld:
Drucken möchten, einzigartigen Linien basierend auf dem ersten Feld , halten Sie das erste vorkommen der Zeile und entfernen Sie doppelte die anderen vorkommen.
Eingang.csv -
10,15-10-2014,abc
20,12-10-2014,bcd
10,09-10-2014,def
40,06-10-2014,ghi
10,15-10-2014,abc
Gewünschte Ausgabe:
10,15-10-2014,abc
20,12-10-2014,bcd
40,06-10-2014,ghi
Versucht haben, unter Befehl und vollständige
awk 'BEGIN { FS = OFS = "," } { !seen[$1]++ } END { for ( i in seen) print $0}' Input.csv
Suchen Sie für Ihre Vorschläge ...
InformationsquelleAutor VNA | 2014-11-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Stellen Sie Ihre test für "sehen", in der action-Teil des Skripts anstelle der Bedingung Teil. Ändern Sie es zu:
Ja, das ist das ganze script:
sollten Sie Haken diese Antwort, so werde es sein, "beantwortet".
Es ist immer eine gute Politik zu markieren, eine Frage als beantwortet, aber es ist mir immer vorschlagen, dass Sie sollten warten Sie einige Stunden, es kann sein, einige haben eine bessere Antwort. Aber ich bezweifle es hier 🙂
Vereinbart, aber in diesem Fall ist es sehr unwahrscheinlich, dass eine bessere Antwort wird kommen. Ich hatte schon viele Antworten, wo der ursprüngliche Fragesteller modded die Antwort bis, kommentiert mit einem "danke", aber wusste anscheinend nicht, was der Haken ist. Nur machen Sie sicher, dass Ed bekommt seine Punkte hier sind Sie gut verdient.
Ich bin langsam meinen Weg durch "Die AWK-Programmiersprache", aber könnte jemand fügen Sie eine Erläuterung hier? Warum keine Zahnspange? Wo ist die print-Anweisung? Vielen Dank, und entschuldige mich, wenn dies ist eher basic. Ich bin nicht sehr weit in dem Buch noch
InformationsquelleAutor Ed Morton
Dies sollte Ihnen geben, was Sie wollen:
in
Betreiber und es ist viel mehr Codierung als das idiomatische awk-Ansatz (siehe meine Antwort).InformationsquelleAutor Edward Arthur