Réponses:
Je l'ai compris; une des uniqoptions est -c, pour "préfixer les lignes par le nombre d'occurrences":
$ uniq -c
sort | uniq
A \ A \ A \ B \ A \ CC, la sortie de juste uniq -cs'afficherait A 3et s'afficherait plus tard A 1. Le tri en premier garantira que toutes les lignes identiques sont regroupées
Je viens de venir ici avec un problème similaire. De là, j'ai réussi à mettre sur pied une commande légèrement plus avancée, qui, je l'espère, est utile pour les autres.
Comme Steven D l'a dit dans les commentaires ci-dessus uniqne compte que les lignes de répétition adjacentes, vous devez donc d'abord trier les lignes. Après cela, nous trouvons les lignes uniques, puis trions à nouveau afin que les lignes les plus fréquentes soient au sommet.
sort file.txt | uniq -c | sort -nr > output.txt
La sortie est redirigée vers le fichier output.txt. Si vous souhaitez simplement afficher les résultats sur la ligne de commande, supprimez la redirection et changez la dernière commande en sort -nafin que la ligne la plus courante soit en bas, c'est-à-dire définitivement toujours à l'écran.
cat file.txt | sortpar juste sort file.txt. :)
catpar quelque chose de plus intéressant. Depuis, vous savez, il n'y en a pas cat.
< file.txt sort | uniq -c. Ceci est facile à modifier et évite tout de même l'inutile cat.
uniq -c filename.txt | sed 's/[^0-9]*\\([0-9]\+\\) \\(.*\\)/\2 \1/'