我有这个 bash 代码
REPLACEMENT="s:define('CP_DIRECTORY.*:define('CP_DIRECTORY), ('"${NEWLOCATION}"');:;"
sed -i $REPLACEMENT $INITDATA;
返回
sed: -e expression #1, char 9: unterminated `s' command
我正在尝试替换 initdata.php 中如下所示的一行:
define( 'CP_DIRECTORY', 'admin' );
到此
define( 'CP_DIRECTORY', 'AJgBCecvPBUnPZCLvKukyzfehWrsF5wI' );
最佳答案
在整个 sed
命令两边加上单引号:
sed -i 's:AdminCP = .*:AdminCP = "/home/pi/forums/AJgBCecvPBUnPZCLvKukyzfehWrsF5wI";:' forums/initdata.php
否则,该命令将按空格分开。另外,您需要在星号前加一个点,否则您只是在说“零个或多个空格”。
关于bash - sed 未终止 `s' 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11425340/