2016-07-21 15 views
-1

Ich habe die folgende Datei, die Einträge wie folgt hat:Unix-Textdatei finden doppelte Einträge

cn: 5f78ee78-54a6-41b7-bff5-a34ff4f7fc4d 
7379800474 
cn: f6c16630-a194-4e64-8bb9-5edab380340a 
2193668474 
cn: 2ed03469-eaf2-4f0a-b5b2-4e0b3fab402c 
5051108453 
cn: d28fc57c-0ff8-4b08-9120-6614e35da185 
9518351168 
cn: 3762c0ec-2a6e-4bf9-afe5-bf144e1f658d 
4902143367 
cn: 600bdcfe-bf0a-4735-95bc-fbe1f2d521d5 
3239279952 
cn: 8d7d1204-4d5b-48ab-8f2c-3ab5d7da2d3d 
3339625694 
3546846448 
3339625694 
3546846448 
cn: e52f7b5a-9061-4168-9622-f4f0c3cd863c 
4853840278 
cn: e617bf31-58a9-412f-9cac-77620f203c1b 
8075983683 
cn: c42d6609-544b-412e-abd5-c76eb1fa7ec1 
3938895718 
cn: 33359ce9-e57e-494a-a08b-c07a647733f4 
1623732669 
8713087228 
1623732669 

Ich muss wissen, welche cn doppelte Einträge

hat A cn könnte mehr als einen Eintrag haben.

So ist die cn8d7d1204-4d5b-48ab-8f2c-3ab5d7da2d3d hat zwei Einträge im Beispiel oben:

3339625694 
3546846448 
3339625694 
3546846448 
+1

überprüfen Sie bitte [fragen]. Sie sollten Ihre Bemühungen zeigen, sowie eine klare [mcve] auf, was die gewünschte Ausgabe ist. – fedorqui

Antwort

0

sort filename | uniq -d wird jede Zeile aufgelistet, die mehr als einmal erscheint.

EDIT

Die Anforderungen haben sich geändert, und Sie werden wahrscheinlich benötigen ein perl Skript.

Lesen Sie die Eingabe Zeile für Zeile, suchen Sie nach jeder Zeile, die mit cn beginnt. Jedes Mal, wenn Sie eine Zeile sehen, die nicht mit cn beginnt, erhöhen Sie einen Zähler für dieses bestimmte Element um 1. Wenn Sie das nächste Mal eine Zeile sehen, die mit cn beginnt, überprüfen Sie Ihre Zähler und sehen Sie, ob einige von ihnen sind größer als 1. Dann löschen Sie Ihre Zähler und starten Sie erneut.

+0

das funktioniert nicht, weil ich nicht welche cn haben die Doppeleintrag – Dirk

+0

hast du ein Perl-Beispiel? – Dirk