我正在从wchich编写bash脚本,我需要替换另一个文件中的一些文本,我需要找到并替换我的文件中的以下文本
$conf['extra_login_security'] = true;
通过以下方式:
$conf['extra_login_security'] = false;
因此,我尝试了以下几点:
sed -i 's_extra_login_security'] = true_extra_login_security'] = false_g' myfile.php
但是它没有起作用,我得到了以下错误:
sed: -e expression # 1, character 15: unknown option for the `s' command
你能帮我说出我做错了什么吗?
发布于 2022-05-15 10:50:13
您可以使用
sed "s/\(extra_login_security'] = \)true/\1false/" myfile.php
详细信息
\(extra_login_security'] = \)
-捕获组1:extra_login_security'] =
字符串true
-一个固定的字符串\1false
-替换:组1值+ false
子字符串。见在线演示
#!/bin/bash
s="\$conf['extra_login_security'] = true;"
sed "s/\(extra_login_security'] = \)true/\1false/" <<< "$s"
# => $conf['extra_login_security'] = false;
https://stackoverflow.com/questions/72251258
复制