# DESC: para agregar palabras nuevas a un diccionario #!/bin/bash DIC_PATH="/home/sjd/diccionarios" # Verificar si el directorio existe if [ ! -d "$DIC_PATH" ]; then echo "El directorio $DIC_PATH no existe." exit 1 fi # Obtener solo los nombres de archivos .txt mapfile -t nombres_diccionarios < <(find "$DIC_PATH" -maxdepth 1 -type f -name "*.txt" -exec basename {} \;) # Verificar si hay archivos if [ ${#nombres_diccionarios[@]} -eq 0 ]; then echo "No se encontraron diccionarios en $DIC_PATH" exit 1 fi echo "Diccionarios disponibles:" select nombre in "${nombres_diccionarios[@]}"; do if [[ -n "$nombre" ]]; then dic="$DIC_PATH/$nombre" break else echo "Selección inválida. Intentá de nuevo." fi done echo "Escribí las palabras a agregar, una por línea." echo "Cuando termines, presioná Ctrl+D para finalizar." # Leer varias palabras de stdin y guardarlas en un archivo temporal TMP=$(mktemp) cat > "$TMP" # Unir las palabras nuevas con las existentes y eliminar duplicados cat "$TMP" "$dic" | sort -u > "$dic.tmp" && mv "$dic.tmp" "$dic" rm "$TMP" echo "Palabras agregadas a $nombre sin duplicados."