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

0

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

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

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

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

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

Agradecemos antecipadamente por qualquer sugestão ou resposta

    
por Giles 22.09.2016 / 01:09

1 resposta

2

Aqui é onde {} de citação de nomes de variáveis é útil. No seu caso, ${var}

Por exemplo:

$ var=100
$ echo $vari

$ echo ${var}i
100i

O {...} age como um "escopo" para o nome da variável.

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

    
por 22.09.2016 / 01:12