总计新的,所以这里有什么不起作用:
find . -type f -exec sed -i 's/\$_SESSION['valOne']"/\$valTwo,"/g' {} +
虽然它应该递归替换,但在它经历的所有目录中:
$_SESSION['valOne'] into just: $valTwo
我已经多次这样做了,但看起来引用对我来说太混乱了。这里的任何帮助都非常感谢。
请尝试如下。更改“ - >”并使用反斜杠进行转义。
例:
find . -type f -exec sed -i "s/\$_SESSION\['valOne'\]/\$valTwo/g" {} +
如果我理解你正在尝试做什么(文字替换)那么你需要单引号字符串,以便shell不试图解释其内容,然后使用'\''
为字符串中的每个单引号并转义任何BRE元字符(即你的情况下[
和]
):
find . -type f -exec sed -i 's/$_SESSION\['\''valOne'\''\]"/$valTwo,"/g' {} +