viernes, 14 de noviembre de 2008

Comando linux para contar cada tipo de linea de un archivo

Si tengo un archivo archivo con lineas iguales agrupadas (lo que se puede crear con sort), como el sgte contenido:

hola como estas
hola como estas
hola como estas
Hola, como has estado?
Hola, como has estado?
Yo estoy bien
Yo estoy bien
Yo estoy bien
Yo estoy bien
Yo estoy bien

y quiero un conteo de cada tipo de línea, como el sgte ejemplo:
hola como estas => 3
Hola, como has estado? => 2
Yo estoy bien => 5


Uso:

cat archivoConLineasIgualesAgrupadas.txt | awk -F'jasdjfasdfsd' 'BEGIN {ultima="";contador=0;} {if ($1 == ultima) {contador++;} else { printf ("%s => %i\n",ultima,contador);contador=1;ultima=$1; }} END { printf ("%s => %i\n",ultima,contador);contador=1;ultima=$1; }'> resumen.txt

No hay comentarios: