sed 文本替换

遇到的问题:
正则 install_data.sql(.+[\n])* 在phpstorm,能匹配正确,但是执行sed命令就无法匹配,各种转义的问题也不知道怎么解决。折腾2个小时的sed命令,无法实现,请教高手指点迷津。最好能写成shell的形式,或者说一下写成shell要注意哪些字符转义

$sql = file_get_contents(ROOT_PATH.'./install/data/install_data.sql');
$sql = str_replace("\r\n", "\n", $sql);
runquery($sql);
// 在这里插入代码
$onlineip = $_SERVER['REMOTE_ADDR'];

插入的代码

$extends = array('install_extend.sql', 'install_extend_data.sql');
foreach ($extends as $extend) {
    $extendFile = ROOT_PATH.'./install/data/' . $extend;
    if (file_exists($extendFile)) {
        $sql = file_get_contents($extendFile);
        $sql = str_replace("\r\n", "\n", $sql);
        runquery($sql);
    }
}
阅读 3.3k
1 个回答

没太明白你的需求,是需要删掉sql文件中的\r吗?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题