在linux bash中替换字符串

这个问题在这里已经有了答案:

  • 如何在单引号字符串中转义单引号? 19个答案

  • 围绕sed使用双引号进行变量扩展并保留单引号。

    sed -i "s/os.path.join(BASE_DIR, 'db.sqlite3'),/$project_name,/g" "$project_name/settings.py"
    

    经过测试,在GNU sed version 4.2.1上运行良好


    你应该在'db.sqlite3''db.sqlite3'引号:

    sudo sed -i 's/os.path.join(BASE_DIR, '''db.sqlite3'''),/'$project_name',/g' $projects_name/settings.py
    

    你的sed模式是os.path.join(BASE_DIR, db.sqlite3),因为'db.sqlite3'中的引号不被解释为文字' 。 相反,他们关闭并重新打开sed命令。

    链接地址: http://www.djcxy.com/p/57135.html

    上一篇: Replace string in linux bash

    下一篇: quoting and escaping of a ssh command line