2014-10-03 49 views
0

替换\字符我有包含像这样一个文件:使用SED文件

command_command2="value" command3="\\value\value2" 

我需要替换所有\用。

当使用sed的:

sed -i 's/\/./g' $old > $new 

我得到一个错误信息:

- sed: -e expression #1, char 7: unterminated `s' command 

任何线索?

+2

你要逃脱你反斜线:'sed的-e的/\\/./'<$old > $ new' – 2014-10-03 14:29:05

+0

@ F.Hauri几乎没有 - 我需要替换所有\字符。 – NRG 2014-10-03 14:52:44

+0

一旦你将'g'切换到's'命令,我**强烈**推荐你阅读'info sed'! – 2014-10-03 23:55:05

回答

2

这是一个有效的例子。您也可以使用|。在这种情况下比/更容易混淆。

line="command_command2=\"value\" command3=\"\\value\value2\"" 
    ]$ echo $line | sed 's|\\|.|g' 
    command_command2="value" command3=".value.value2" 
+0

工程就像一个魅力!谢谢。 – NRG 2014-10-03 15:03:09