我需要用文件中的另一个字符串替换字符串。
我的下面一行是文件。
tibco.env.LD_LIBRARY_PATH %TPCL_HOME%/lib/httpclient_3.0:%TPC
L_HOME%/lib:%RV_HOME%/lib:%TRA_HOME%/icjava/6.2/lib:%LD_LIBRARY_PATH%
我需要用“tibco.env.LD_LIBRARY_PATH”替换 “tibco.env.LD_LIBRARY_PATH%RV_HOME%/ lib / 64:”
最后该行应
tibco.env.LD_LIBRARY_PATH %RV_HOME%/lib/64:%TPCL_HOME%/lib/httpclient_3.0:%TPC
L_HOME%/lib:%RV_HOME%/lib:%TRA_HOME%/icjava/6.2/lib:%LD_LIBRARY_PATH%
我尝试使用以下命令,但得到错误sed:-e expression#1,char 66:`s'的未知选项
sed -i s/"tibco.env.LD_LIBRARY_PATH "/"tibco.env.LD_LIBRARY_PATH %RV_HOME%/lib/64:"/ bwengine.tra
有人可以帮助解决问题。
答案 0 :(得分:1)
如果要替换的模式或替换字符串包含斜杠,请使用其他分隔符,例如=
:
s="tibco.env.LD_LIBRARY_PATH "="tibco.env.LD_LIBRARY_PATH %RV_HOME%/lib/64:=
答案 1 :(得分:0)
您可能会认为使用&
作为匹配字符串,这将减少sed命令的长度。
sed 's!tibco.env.LD_LIBRARY_PATH !&%RV_HOME%/lib/64:!' file