如何通过 sed 命令在特定变量行号处插入注释?

如何通过 sed 命令在特定变量行号处插入注释?

我想注释掉一行(#在开头添加一个)。我在 Linux 上使用了这个命令:sed -i '96s/^/#&/' file.txt在第 96 行插入注释。

如果行号是一个变量,那么我该如何使用这个命令?我尝试过这些命令:

(1)

sed -i '${line_number}s|^|#&|' file.txt

(2)

sed -i '${line_number}s/^/#&/' file.txt

但它们不起作用。我怎样才能做到这一点?

答案1

变量是未扩展使用单引号时。使用双引号代替:

 sed -i "${line_number}"'s/^/#/' file.txt

你不需要&.表示插入整个匹配项,该匹配项为空。

相关内容