GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo usar sed para reemplazar la variable de un archivo de configuración?

Puedes probar este sed:

sed -i.bak 's/^\(VAR5=\).*/\1VALUE10/' file

Da:

VAR1=VALUE1
VAR2=VALUE2
VAR3=VALUE3
VAR4=VALUE4
VAR5=VALUE10
VAR6=VALUE6

A pesar de que la respuesta se ha agregado a la pregunta. Dediqué algo de tiempo a cómo funciona, me gustaría agregar algunos datos y mi versión de la respuesta,

sed -i 's,^\(THISISMYVARIABLE[ ]*=\).*,\1'THISISMYVALUE',g' config.cfg

Explicación:

  • Como básico de sed 's/find_this/replace_with/' , estamos diciendo sed para buscar y reemplazar. También recuerde que hay muchos otros delimitadores que podemos usar en lugar de / . Aquí , se utiliza.
  • Aquí encontramos la línea que coincide con ^\(THISISMYVARIABLE[ ]*=\).* . Esto significa que estamos agrupando la coincidencia THISISMYVARIABLE[ ]*= . ([ ]* para cubrir si hay espacios después de la clave)
  • En la sección de reemplazo \1 es una referencia inversa. Estamos haciendo referencia al primer grupo en la expresión regular que usamos para la coincidencia.

Puedes decir:

sed '/^VAR5=/s/=.*/=VALUE10/' filename

Para realizar el cambio en el archivo in situ , usa el -i opción:

sed -i '/^VAR5=/s/=.*/=VALUE10/' filename

Linux
  1. ¿Cómo reemplazar una cadena en un archivo (s)?

  2. ¿Cómo usar Sed para reemplazar una cadena de varias líneas?

  3. ¿Cómo usar Sed o Ex para reemplazar un bloque (código de varias líneas) con un nuevo bloque de texto (código)?

  4. Cómo usar sed para eliminar las últimas n líneas de un archivo

  5. sed:¿cómo reemplazar la línea si se encuentra o agregar al final del archivo si no se encuentra?

CÓMO UTILIZAR EL EDITOR SED

Los 20 mejores comandos sed para usar

Cómo usar el comando lsof en Linux

¿Cómo usar gzip en Linux?

Cómo usar el comando shred de Linux

Cómo usar Sed para buscar y reemplazar una cadena en un archivo