On 8/7/07, Marcos Guglielmetti <[email protected]> wrote:
El Martes, 7 de Agosto de 2007 14:27, minombresbond escribió: | no entendi el problema pero: | necesitas que los ' ' sean '\ ' ? | y si le das a | PALABRA=$( echo "$PALABRA" | sed 's/ /\\ /g' ) | te reemplaza los ' ' por '\ ' | entonces en la base de datos ya no necesitas poner | las '\' antes de los espacios
Es casi la solución, como es lógico, me sirve ;-), había pensado en hacer eso: reformar el diccionario cada vez que debe ser procesado (de todos modos lo hago, lo filtro de comentarios y otras cosas), así que gracias, me sirve, aunque lo implementaré de otra forma para que sea más eficiente
Se me ocurre que podrías optimizar mucho la velocidad utilizando scripts de sed, son archivos donde pones una debajo de otra una serie de ER que querés que sed ejecute sobre un archivo. En tu caso cada término a traducir sería una ER, algo así: diccionario.sed -------------------------------------------- s/esp01/port01/g s/esp02/port02/g s/esp03/port03/g -------------------------------------------- Para simplificar eso al usuario que tiene que crear y/o modificar el diccionario, podrías primero procesar un diccionario simplificado para crear al archivo script anterio, por ejemplo en base a este diccionario y la expresión que está a continuación del archivo: diccionario.dic -------------------------------------------- esp01=port01 esp02=port02 esp03=port03 -------------------------------------------- cat diccionario.dic | sed -r -e "s/^(.*)/s\/\1/g" -e "s/(.*)=(.*)/\1\/\2/g" -e "s/(.*)/\1\/g/g" > diccionario.sed Luego procesas el archivo todo de una así: sed -f diccionario.sed $ARCHIVO-temp > $ARCHIVO-traducido Guarda! Que todo esto no lo probé, lo estoy escribiendo de memoria así que primero quizá tenés que corregir algunos detalles, pero creo que funciona este mecanismo. -- Pablo Manuel Rizzo ---------------------------------------------------------------------- Aunque supiera que el mundo se acabará mañana, Igual plantaría mi manzano. -- Martin Luther King -- ----------------------------------------------------------------------