sed更改行错误消息

时间:2012-11-30 18:14:25

标签: sed edit

我有一个配置文件,我需要更改(再次),行是

set wrapper_code=C:\windows\drivers\cache

我需要将其更改为

set wrapper_code=/home/harry/solo/run

我写了

cat Proxy.bat | sed -i.bk -e 's/\(^set wrapper_home\=\).*/\/home/'1${dbuser}'/gateway/service\'  Proxy.bat

我收到错误消息

sed: -e expression #1, char 37: unknown option to `s'

我的代码字符串

有什么问题

1 个答案:

答案 0 :(得分:0)

如果您使用/作为模式分隔符sed,则必须转义字符串(路径)中的斜杠。要避免它,请使用其他分隔符:

sed -i.bk -e 's%\^set wrapper_code=C:\\windows\\drivers\\cache%set wrapper_code=/home/harry/solo/run%'  Proxy.bat

您还必须转义反斜杠,因为它们在sed中具有特殊含义。

cat部分无用。