Quiero buscar un archivo de configuración para esta expresión: "central.database". Luego quiero cambiar la configuración asociada con "central.database" a "SQLTEST".¿Cómo uso sed para cambiar mis archivos de configuración, con claves flexibles y valores?
La disposición del archivo de configuración se parecería a este principio:
central.database = SQLFIRSTTEST
Esto es lo que quiero que se vea como después de la sustitución sed:
central.database = SQLTEST
que estoy haciendo esto de una bash script, cualquier sugerencia, recomendación o solución alternativa son bienvenidas!
(En realidad, tanto central.database
y SQLTEST
provienen de variables bash aquí.)
Mi código actual (tercer intento): Mensaje
sshRetValue=$(ssh -p "35903" -i $HOME/sshids/idrsa-1.old ${1} <<EOF
sed -i "s/^\($CENTRAL_DB_NAME\s*=\s*\).*\$/\1$CENTRAL_DB_VALUE/" /home/testing.txt;
echo $?
EOF
)
error:
Pseudo-terminal will not be allocated because stdin is not a terminal.
sed: -e expression #1, char 58: unknown option to `s'
-bash: line 3: EOF: command not found
Encontré esto, ¿podría alguien explicar la sintaxis en la segunda publicación? http://ubuntuforums.org/showthread.php?t=708545 – prolink007
Esperemos que alguien haya implementado una herramienta de este tipo en los últimos 5 años. –
@ThomasWeller Su solicitud de recompensa es problemática. Está solicitando una solución no '' '' donde el título de la pregunta menciona 'sed'. La suya es básicamente una pregunta de recomendación de software, que está explícitamente prohibida en Stack Overflow. – tripleee