简单的SED更换

时间:2016-11-21 13:28:08

标签: regex sed freebsd

只是尝试编写一个脚本来在php.ini中进行简单的正则表达式替换,我想要做的就是用;cgi.fix_pathinfo=1替换行cgi.fix_pathinfo=0

理想情况下,要避免安装任何其他软件包,因此sed似乎是一个合乎逻辑的选择,因为它与FreeBSD捆绑在一起。我尝试过以下但似乎没有效果:

sed 's/;cgi\.fix_pathinfo=1/cgi\.fix_pathinfo=0/' /usr/local/etc/php.ini

1 个答案:

答案 0 :(得分:3)

要使用sed BSD更改文件的内容,您可以这样做:

sed -i.bak -e 's/;cgi\.fix_pathinfo=1/cgi.fix_pathinfo=0/;' /usr/local/etc/php.ini

这会创建一个扩展名为.bak的旧文件的副本。

或者没有创建副本:

sed -i '' -e 's/;cgi\.fix_pathinfo=1/cgi.fix_pathinfo=0/;' /usr/local/etc/php.ini

请注意,在这种情况下,引号括起来的空格和空字符串是必需的。你不能简单地用GNU sed编写sed -i -e '...