如何用sed
替换它?我需要替换它:
set $protection 'enabled';
到
set $protection 'disabled';
请注意,我无法将enabled
发送到disabled
,因为它不仅用于输入文件中的此位置。
我尝试了这个,但它没有改变任何东西,但没有给我任何错误:
sed -i "s/set $protection 'enabled';/set $protection 'disabled';/g" /usr/local/openresty/nginx/conf/nginx.conf
答案 0 :(得分:1)
您可以使用以下sed
命令:
CMD:
sed "s/set [$]protection 'enabled';/set \$protection 'disabled';/g"
解释:
$
,以避免shell将$protection
解释为变量sed -i.back "s/set [$]protection 'enabled';/set \$protection 'disabled';/g"
,它会备份您的文件并进行就地修改。^
和关闭$
锚点。 ^set [$]protection 'enabled';$
<强> INPUT:强>
$ echo "set \$protection 'enabled';"
set $protection 'enabled';
<强>输出:强>
$ echo "set \$protection 'enabled';" | sed "s/set [$]protection 'enabled';/set \$protection 'disabled';/g"
set $protection 'disabled';
答案 1 :(得分:0)
这可能适合你(GNU sed):
sed '/^set $protection '\''enabled'\'';$/c set $protection '\''disabled'\'';' file
将线条更改为所需的值。