Antworten:
Ich habe es herausgefunden; Eine der uniqOptionen ist -cfür "Präfixzeilen nach Anzahl der Vorkommen":
$ uniq -c
sort | uniq
A \ A \ A \ B \ A \ CC, dessen Ausgang nur uniq -czeigen würde A 3und später zeigen A 1. Wenn Sie zuerst
Ich bin gerade mit einem ähnlichen Problem hergekommen. Daraus habe ich einen etwas fortgeschritteneren Befehl zusammengestellt, von dem ich hoffe, dass er für andere nützlich ist.
Wie Steven D in den obigen Kommentaren sagte, werden uniqnur benachbarte Wiederholungszeilen gezählt, daher müssen Sie die Zeilen zuerst sortieren. Danach finden wir die eindeutigen Zeilen und sortieren sie erneut, sodass die am häufigsten vorkommenden Zeilen oben stehen.
sort file.txt | uniq -c | sort -nr > output.txt
Die Ausgabe wird in die Datei umgeleitet output.txt. Wenn Sie die Ergebnisse nur in der Befehlszeile anzeigen möchten, entfernen Sie die Umleitung und ändern Sie den letzten Befehl in, sort -nsodass sich die am häufigsten verwendete Zeile unten befindet, dh definitiv noch auf dem Bildschirm.
cat file.txt | sortmit nur ersetzen sort file.txt. :)
catetwas Interessanteres ersetzen kann . Da gibt es ja keine cat.
< file.txt sort | uniq -c. Dies ist einfach zu bearbeiten und vermeidet dennoch das Unnötige cat.
uniq -c filename.txt | sed 's/[^0-9]*\\([0-9]\+\\) \\(.*\\)/\2 \1/'