GNU/Linux >> Tutoriales Linux >  >> Linux

Sustitución de variables de entorno en sed

Además de la respuesta de Norman Ramsey, me gustaría agregar que puede usar comillas dobles para toda la cadena (lo que puede hacer que la declaración sea más legible y menos propensa a errores).

Entonces, si desea buscar 'foo' y reemplazarlo con el contenido de $BAR, puede encerrar el comando sed entre comillas dobles.

sed 's/foo/$BAR/g'
sed "s/foo/$BAR/g"

En el primero, $BAR no se expandirá correctamente mientras que en el segundo $BAR se expandirá correctamente.


Sus dos ejemplos parecen idénticos, lo que hace que los problemas sean difíciles de diagnosticar. Posibles problemas:

  1. Es posible que necesite comillas dobles, como en sed 's/xxx/'"$PWD"'/'

  2. $PWD puede contener una barra inclinada, en cuyo caso necesita encontrar un carácter no contenido en $PWD para usar como delimitador.

Quizá resolver ambos problemas a la vez

sed '[email protected]@'"$PWD"'@'

Linux
  1. Consejos y trucos de variables de entorno de Linux

  2. Linux:¿variable de entorno permanente para todos los usuarios?

  3. ¿Usando una referencia a una variable de cadena Bash en Sed?

  4. Establecer variable de entorno con espacio en Linux

  5. ¿Cómo cambiar el idioma de mi git?

Cómo establecer la variable de entorno en Windows

Cómo establecer variables de entorno en MacOS

Configurar la conexión de la base de datos usando la variable de entorno en Rails

Cómo establecer la variable de entorno en Bash

Tutorial de Unix Sed:ejemplos avanzados de sustitución de Sed

¿Qué es la variable de entorno XDG_VTNR?