搜索和替换Linux

时间:2013-01-10 18:25:43

标签: linux sed replace

我正在尝试进行以下搜索和替换,但由于某种原因它无法正常工作。我想替换:

require_once('

require_once($_SERVER['DOCUMENT_ROOT']/'

这些是完全 srings(包括斜线和单引号)。

这就是我的尝试,但我无法让它发挥作用:

find ./ -type f -readable -writable -exec sed -i "s/require_once(\'/require_once($_SERVER['DOCUMENT_ROOT'] . \'\//g" {} \;

我做错了什么?

2 个答案:

答案 0 :(得分:5)

您需要转义$/字符:

sed "s/require_once('/require_once(\$_SERVER['DOCUMENT_ROOT']\/'/g"

答案 1 :(得分:0)

你需要反斜杠 - 在双引号内转义美元符号,否则shell会插入(不存在的)环境变量_SERVER,将其替换为空字符串。

相关问题