Puede usar las variables siguientes. Al igual que aquí, quería reemplazar hostname
es decir, la variable del sistema en el archivo. Busco cadena look.me
y la sustitución de toda esa línea con look.me=<system_name>
sed -i "s/.*look.me.*/look.me=`hostname`/"
También puede almacenar el valor del sistema en otra variable y puede utilizar esa variable para la sustitución.
host_var=
`hostname`
sed -i "s/.*look.me.*/look.me=$host_var/"
Archivo de entrada:
look.me=demonic
salida de archivo (suponiendo que mi nombre del sistema es prod-cfm-frontend-1-usa-central-1
):
look.me=prod-cfm-frontend-1-usa-central-1
Tal vez también mencione que si la variable contiene barras diagonales, necesita usar un delimitador diferente que no aparece en la cadena (o barra diagonal inversa-escape en cada aparición del delimitador). La barra inclinada es un valor predeterminado común para 's', pero puede usar cualquier carácter de puntuación; 'sed" s% draw ($ prev_number; n _)% draw ($ number; n _)% g "file.txt' o' s # from # to # g' or 's_from_to_g', etc. – tripleee