Skip to content

Instantly share code, notes, and snippets.

@cosmoscalibur
Created August 22, 2017 04:03
Show Gist options
  • Save cosmoscalibur/b48bb9e15c26ef8019e14ee74a517b96 to your computer and use it in GitHub Desktop.
Save cosmoscalibur/b48bb9e15c26ef8019e14ee74a517b96 to your computer and use it in GitHub Desktop.
Genera lista de lemas asociados a nombres propios a partir de una lista de nombres propios en texto plano. Elimina duplicados respecto a topónimos y nombres propios existentes en el proyecto (RLA-ES).
#!/usr/bin/env bash
# Rutina elaborada por Edward Villegas Pulgarin (@cosmoscalibur en github).
# Genera lista de lemas de nombres propios colombianos para diccionario hunspell
# a partir de una lista de nombres compuestos en archivo de texto plano, comparando
# con los topónimos y nombres propios ya incluidos.
# El archivo debe ubicarse en el directorio de la localización.
# Realizado para la localización es_CO de [RLA-ES](https://github.com/sbosio/rla-es).
# $1: Nombre del archivo de listas de nombres
# $2: localización (debe existir el directorio en noRAE y en toponimos). Ejemplo: es_CO
# La lista en el archivo unicos debe reemplazar la existente en NombresPropiosSiglas.txt.
# Se elabora lista de nombres compuestos y se guarda en un archivo de texto plano.
# Se separan los nombres compuestos y se remueven lemas comunes
sed -i -E -e 's/ /\n/g' -e '/^(de|del|las|la|los|el|y)$/d' $1
# Se une la lista de candidatos con la lista de la localización.
# Se ordena y se eliminan repetidos.
cat NombresPropiosSiglas.txt $1 | sort -u > candidatos
# Se remueven lineas comentadas y vacías.
sed -i -E -e '/#(.*)$/d' -e '/^$/d' candidatos
# Se elabora lista de topónimos de la localización y generales, junto con nombres
# propios generales. Se ordenan, eliminan repetidos, comentarios y líneas vacías.
cat ../../NombresPropiosSiglas.txt ../../../toponimos/toponimos-mundo.txt ../../../toponimos/l10n/$2/toponimos-* | sort -u > existentes_orden
sed -i -E -e '/#(.*)$/d' -e '/^$/d' existentes_orden
# Se genera listado de nombres propios que no están como topónimos o nombres propios
# generales.
comm -23 candidatos existentes_orden > unicos
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment