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