Doppelte Zeilen suchen

Herakles

Profifragensteller
Moin!

Ich habe eine sehr große Datei (menschenlesbar sehr groß, etwa 1000 Zeilen), die Loginformationen enthält. Wichtig für mich wäre es, zu überprüfen, ob derselbe Logwert mehrmals vorliegt, sprich, ob zwei Zeilen sich gleichen. Natürlich könnte ich jetzt hingehen und ein Programm schreiben, eigentlich suche ich aber eine elgante bash-Lösung, eben ein Programm, was sowas schon kann.

Ein kleiner Tipp mit einem Hinweis auf eine man-Page würde mir schon reichen. Suchen könnte ich selbst, nur fehlt mir die Startidee. Also, wo kann ich anfangen?

Danke im Voraus, Herakles
 
>überprüfen, ob derselbe Logwert mehrmals vorliegt, sprich, ob zwei Zeilen sich gleichen

man(1) uniq

tut genau das.
gruss

metro
 
uniq(1) setzt aber eine sortierte Liste voraus. Ist das keine Option, waere awk(1) das Mittel der Wahl

Code:
% printf "3\n2\n3\n4\n5\n3\n"|awk '{if (x[$0]) { print "Zeile " NR " Wert " $0 " Haeufigkeit " ++x[$0]} else { x[$0] = 1}}'
Zeile 3 Wert 3 Haeufigkeit 2
Zeile 6 Wert 3 Haeufigkeit 3

Wie du daraus mal schnell ein Histogramm erstellen kannst bleibt als Hausaufgabe :)
 
Superhelden der Antike können Manuals moderner Zeiten entziffern und deuten.:belehren:
>Datei (*menschenlesbar* sehr groß, etwa 1000 Zeilen), die Loginformationen enthält
Also :
Code:
zitat man uniq(1)
../schnipp..
  ...comparing *adjacent* lines, and writes a copy of each unique input line... 
../endeschnipp
sortieren mit sort(1).
Code:
sort $file | uniq -d 
etc.etc...
 
Ich will wirklich keine Korinthen k*ck*n, aber wenn ich die ursprüngliche Frage richtig verstanden habe, will er den output von <sort -u> nicht wissen . Er will ja die mehrfach vorkommenden Einträge gelistet haben.

>Wichtig für mich wäre es, zu überprüfen, ob derselbe Logwert mehrmals vorliegt,
>sprich, ob zwei Zeilen sich gleichen.

Code:
sort -u :
man sort(1)
...schnipp
 -u, --unique
              with -c, check for strict ordering; [B]without -c, output only  the
              first of an equal run[/B]
...endeschnipp
mir ist keine Option von sort(1) bekannt, die uniq(1) wie hier gewünscht einbindet,
daher die obige Version.
Genug getrocknetes Obst. :)
 
Back
Top