AWK – Vocabulario usado en un texto.-

Este programa imprime la lista de todas las palabras diferentes usadas en un texto, junto con la frecuencia de aparición de cada una. Para simplificar el programa se asume que no hay signos de puntuación, y las palabras están separadas por espacio en blanco o saltos de línea. Esto significa que cada palabra es un campo de la línea de entrada. Código del programa (vocabulario.awk):

{
for (k=1; k<=NF; k++) {
cuenta[$k]++
}
}
END {
for (pal in cuenta) {
print pal, cuenta[pal]
}
}

Observaciones:
1. La primera cláusula del programa tiene el patrón omitido. Se aplica a todas las líneas del texto de entrada.
2. Las palabras en mayúsculas y en minúsculas se tratan como diferentes. Este es el comportamiento por defecto de AWK.
3. Los resultados no aparecen en orden alfabético (ni en ningún otro orden determinado). Las tablas suelen implementarse internamente como tablas «hash», y sus elementos se recorren en el orden que haya decidido quien construyó el intérprete.

Ejemplo de texto de entrada (texto.txt):
Este programa imprime la lista de todas las
palabras diferentes usadas en un texto, junto con
la frecuencia de aparición de cada una. Para
simplificar el programa se asume que no hay
signos de puntuación, y las palabras están
separadas por espacio en blanco o saltos de
línea. Esto significa que cada palabra es un
campo de la línea de entrada.

Orden de ejecución:
awk -f vocabulario.awk texto.txt

Resultados:

entrada. 1
Esto 1
etc…..

Esta entrada fue publicada en Unix - Linux. Guarda el enlace permanente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.