sed, que separa una variable (que proporciona un número) de la instrucción para insertar texto en una línea específica

sed, que separa una variable (que proporciona un número) de la instrucción para insertar texto en una línea específica

Tengo algunos problemas con sed y veo una variable que proporciona una instrucción numérica para insertar texto en una línea específica.

Aquí está el código de trabajo sin la variable:

sed -i '1i\NewLineHere\' ~/file/location/here.txt

Necesito cambiar el número 1 a $var, pero con la letra 'i' junto a él (sin espacios), sin que se vea como parte de la variable. Utilizo " " en lugar de ' ' para que sed pueda ver las variables correctamente, he intentado innumerables intentos diferentes y ninguno ha funcionado. Un ejemplo de cómo se ve el problema sin ningún intento de desconectar la 'i' de la variable manteniéndola junto a ella:

 sed -i "$vari\NewLineHere\" ~/file/location/here.txt

Gracias de antemano por cualquier sugerencia o respuesta.

Respuesta1

Aquí es donde {}resulta útil citar nombres de variables. En tu caso,${var}

Por ejemplo:

$ var=100
$ echo $vari

$ echo ${var}i
100i

Actúa {...}como un "alcance" para el nombre de la variable.

(Nota al margen: tenga cuidado con el \carácter al cambiar entre 'y ").

información relacionada