我的代码如下;它不起作用。
line_number=$1;
variable1=$2;
sed '\$line_number c\
\$variable1' file > tmp.out
如果我写下面那么它的工作。你能否建议如何让上面的代码运行?
sed '1 c\
<replace>abc</replace>' file > tmp.out
答案 0 :(得分:1)
从单引号中取出变量,并且在变量之前不需要任何反斜杠:
sed "$line_number"' c\
'"$variable1" file > tmp.out
答案 1 :(得分:1)
你可以试试这个,
#!/bin/bash
line_number=$1;
variable1=$2;
sed "$line_number c\
$variable1" file > tmp.out
如果要在sed中使用变量值,则使用"
(双引号)。
然后,它将由shell解释。