使用sed -i

时间:2016-10-18 14:28:58

标签: linux bash sed

我会在sed命令中插入两个变量:

sed -i '39,41 s/^#//' file

我会

sed -i '$LINE,$LINE_INCREMENTED s/^#//' file

但请回复:

  

sed:-e表达式#1,字符9:未知命令:`$'

2 个答案:

答案 0 :(得分:0)

删除双引号的引号,以便评估环境变量:

sed -i "$LINE,$LINE_INCREMENTED s/^#//" file

答案 1 :(得分:0)

当将shell变量放在单引号内时,它们不会被展开,然后按字面意思对它们进行处理。

执行:

sed -i "$LINE,$LINE_INCREMENTED"' s/^#//' file

假设变量只包含数字。

由于s/^#//部分不包含任何shell扩展,因此在完整表达式上放置双引号也会有更好的可读性:

sed -i "$LINE,$LINE_INCREMENTED s/^#//" file