sed, separando uma variável (fornecendo um número) da instrução para inserção de texto em uma linha específica

sed, separando uma variável (fornecendo um número) da instrução para inserção de texto em uma linha específica

Estou tendo problemas com o sed e vendo uma variável fornecendo uma instrução numérica para inserção de texto em uma linha específica.

aqui está o código funcional sem a variável:

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

Preciso alterar o número 1 para $var, mas com a letra 'i' permanecendo ao lado (sem espaço), embora não seja vista como parte da variável. Eu uso " " em vez de '' para que o sed consiga ver as variáveis ​​corretamente, já tentei inúmeras tentativas diferentes e nenhuma funcionou. Um exemplo de como fica o problema sem qualquer tentativa de desconectar o 'i' da variável, mantendo-o próximo a ela:

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

Agradecemos antecipadamente por quaisquer sugestões ou respostas

Responder1

É aqui que {}a citação de nomes de variáveis ​​é útil. No seu caso,${var}

Por exemplo:

$ var=100
$ echo $vari

$ echo ${var}i
100i

Eles {...}atuam como um "escopo" para o nome da variável.

(Nota lateral: tenha cuidado com o \personagem ao alternar entre 'e ").

informação relacionada