Respuestas:
Me lo imaginé; una de uniq
las opciones es -c
, para "líneas de prefijo por el número de ocurrencias":
$ uniq -c
sort | uniq
A \ A \ A \ B \ A \ CC
, la salida de solo uniq -c
se mostraría A 3
y luego se mostraría A 1
. Ordenar primero, garantizará que todas las líneas idénticas se agrupen juntas
Acabo de llegar aquí con un problema similar. A partir de esto, logré armar un comando un poco más avanzado, que espero sea útil para otros.
Como dijo Steven D en los comentarios anteriores, uniq
solo cuenta las líneas de repetición adyacentes, por lo que primero debe ordenar las líneas. Después de eso, encontramos las líneas únicas y luego ordenamos nuevamente para que las líneas más frecuentes estén en la parte superior.
sort file.txt | uniq -c | sort -nr > output.txt
La salida se redirige al archivo output.txt
. Si solo desea ver los resultados en la línea de comando, elimine la redirección y cambie el último comando para sort -n
que la línea más común esté en la parte inferior, es decir, definitivamente todavía en la pantalla.
cat file.txt | sort
con solo sort file.txt
. :)
cat
con algo más interesante. Ya que, ya sabes, no hay cat
.
< file.txt sort | uniq -c
. Esto es fácil de editar y aún evita lo innecesario cat
.
uniq -c filename.txt | sed 's/[^0-9]*\\([0-9]\+\\) \\(.*\\)/\2 \1/'