0
sed
如何使用特殊符号运行?我想sed和逃逸字符
这是我的脚本(它修复在Ubuntu下Qt工程文件,“因为Ubuntu的没有QT-multimadia):
OldInclude='QT += multimedia'
NewInclude='
INCLUDEPATH += //usr//include//QtMobility
INCLUDEPATH += //usr//include//QtMultimediaKit'
find -iname "*.pro" -type f -exec sed -i "s/$OldInclude/$NewInclude/g" {} \;
在文件:
#-------------------------------------------------
#
# Project created by QtCreator 2013-03-07T02:19:23
#
#-------------------------------------------------
QT += multimedia
QT -= gui
TARGET = MultiItem
TEMPLATE = lib
DEFINES += MULTIITEM_LIBRARY
SOURCES += multiitem.cpp
//Even more lines here
但它没有取代 - 它看起来像我做错了输入字符串。
如何正确替换它们?该文件我将更新为以下几点:
您应该提供一个无法替代的示例文件(或摘录)。 – 2013-03-07 21:53:59
如果您的模式包含'/'字符,请不要使用'/'作为您的'sed'分隔符。 – 2013-03-07 21:54:14
@CarlNorum我用“s @ $ OldInclude @ $ NewInclude @ g”替换了“s/$ OldInclude/$ NewInclude/g”。它的工作原理,但没有替代:( – 2013-03-07 22:11:41