Si tengo un archivo de texto con el siguiente contenido
red apple
green apple
green apple
orange
orange
orange
¿Existe un comando o script de Linux que pueda usar para obtener el siguiente resultado?
1 red apple
2 green apple
3 orange
linux
text
duplicates
tiempo en
fuente
fuente
-d
nota.uniq -c file
y en caso de que el archivo aún no esté ordenado:
sort file | uniq -c
fuente
Prueba esto
fuente
fuente
¿Puede vivir con una lista ordenada alfabéticamente:
?
o
-u significa único, y la unicidad solo se alcanza mediante la clasificación.
Una solución que conserva el orden:
y, con un archivo
Los dos últimos solo eliminan los duplicados, que siguen de inmediato, lo que se ajusta a su ejemplo.
Imprimirá dos manzanas, partidas por un plátano.
fuente
Para obtener un recuento:
Para obtener un recuento ordenado:
EDITAR
Ajá, esto NO fue dentro de los límites de las palabras, mi mal. Este es el comando que se debe usar para líneas completas:
fuente
Aquí hay una secuencia de comandos de Python simple que usa el tipo Counter . El beneficio es que esto no requiere ordenar el archivo, esencialmente usando memoria cero:
Salida:
o puede usar un simple one-liner:
fuente