用斜杠替换另一个字符串的命令

时间:2015-05-24 16:36:32

标签: linux sed

我无法在命令中找到错误。我想替换

/home/data/newfiles with /home/data/data1/newfiles

我用过

 sed -i 's/data/data/data1/g' filename

但它不起作用。

2 个答案:

答案 0 :(得分:1)

$ echo '/home/data/newfiles' | sed 's#\(/home/data\)\(/newfiles\)#\1/data1\2#'
/home/data/data1/newfiles

答案 1 :(得分:0)

替换字符串不能包含unbackslashed分隔符(正则表达式也不能,但这不是问题)。

sed -i 's/data/data\/data1/g' filename

或使用不同的分隔符

sed -i 's=data=data/data1=g' filename