在过去一天经过大量尝试之后,我无法在1行上执行以下命令:
sed '/'"$var1"'/ {n;n;a '\'"$var2"\'' \\
}' tempproject.cfg
当我像上面那样运行时,它匹配$ var1并用$ var2替换它后面的第3行。
sed命令应该执行的示例:
var1=c
var2=hello
a a
b b
c c
d => sed '/'"$var1"'/ {n;n;a '\'"$var2"\'' \\ => d
e }' tempproject.cfg e
f 'hello' \
g g
h h
当我将命令放在1行时,我收到以下错误:
sed: -e expression #1, char 0: unmatched `{'
提前致谢!
答案 0 :(得分:0)
$var1=c
$var2=hello
$sed "/$var1/{n;n;n;s/.*/'$var2' \\\ /}" tempproject.cfg
应该给你
a
b
c
d
e
'hello' \
g
h
i
为什么要使用three backslash?