Conocer las frecuencias de caracteres en AWK
AWK es un programa potentisimo,
que nos puede ayudar a hacer realmente virguerias con los ficheros de texto.
Hoy os voy a mostrar un pequeño ejemplo que he preparado para que veais su potencia.
Se trata de unos de los típicos problemas que nos plantean cuando estamos estudiando
informática: Conocer la frecuencia de los caracteres en un determinado texto.
{
for (i=1;i< length($0);i++){
caracter = substr($0,i,1);
if (0!= index("abcdefghijklmnñopqrstuvwxyz",caracter))
arrayLetras[caracter]++;
}
}
END{
for (caracter in arrayLetras) {
printf ("%s %4d\n", caracter, arrayLetras[caracter])
}
}
Para ejecutarlo simplemente tendremos que teclear lo siguiente:
awk -f frecuencia.awk fichero
Donde frecuencia.awk es el programa AWK comentado anteriormente y fichero es el fichero sobre el que conoceremos la frecuencia de caracteres.
Si teneis alguna duda sobre AWK, podeis ir al manual que preparé hace algún tiempo.