如何使用 sed 命令更改特定行中单词的替换?

如何使用 sed 命令更改特定行中单词的替换?

我必须更改第四行中的一个单词,因此我使用了以下命令:

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

它工作得很好。但是,如果我将行号保存在变量中并尝试相同的命令,我会收到此错误:

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

我怎样才能正确地做到这一点?

答案1

使用双引号代替单引号。

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

Stack Overflow:bash 中单引号和双引号之间的区别

相关内容