====Sed script to count syllables on Spanish prose==== (It does not account for synalepha, but it can be useful for "text difficulty" tests based on word number of syllables). #!/usr/bin/sed #Algoritmo para contar las sílabas de un texto en prosa # en castellano. # Esta explicación usa el metalenguaje SED: # s /a/b/g = reemplazar todos los a con b # s/[ab]/c/g=reemplazar todos los a o b con c # s/\([ab]\)c/\1/g = reemplazar ac con a, bc con b, etc. # s/\([ab]\)c\([de]\)/\1\2/g = similar (\2 es el segundo grupo) # y/ab/cd/ =sustituir a con c, b con d. # Sería necesario un paso previo para convertir # a minúsculas todas las letras: s/./\U&/g # Paso A: Eliminar las vocales/consonantes que no se pronuncian. #1 Reemplazar gue, gui, que, qui por ge, gi, qe, qi s/\([qg]\)u\([ei]\)/\1\2/g #2 Eliminar h s/h//g # Paso B: Homogeneizar letras #3 Reemplazar ü con u s/ü/u/g #4 Reemplazar -y (a final de palabra) con -i. s/y\b/i/g # Paso C: Reducir dipongos a una vocal. #5 Reemplazar (iu)+(aeiou) (cón o sin acento) + (iu) por la vocal central. s/[iu]\([aeiouáéíóú]\)[iu]/\1/g #6 Eliminar el acento de las vocales y/[áéíóú]/aeiou/ #Después de este último paso, contamos las vocales # y obtenemos el número de sílabas.