como alterar a substituição da palavra na linha específica usando o comando sed?

4

Eu tenho que mudar uma palavra na quarta linha então usei este comando:

sed -i '4 s/previous_word/new_word/' filename

e funcionou perfeitamente. Mas se eu salvar o número da linha em uma variável e tentar o mesmo comando, recebo este erro:

$ sed -i '${line_no} s/previous_word/new_word/' filename
 error
 sed: -e expression #1, char 5: expected newer version of sed

Como posso fazer isso corretamente?

    
por surbhi 18.03.2015 / 11:46

1 resposta

6

Use aspas duplas em vez de aspas simples.

sed -i "${line_no}..."

Veja Stack Overflow: Diferença entre aspas simples e duplas no bash

    
por 18.03.2015 / 11:52