我无法在命令中找到错误。我想替换
/home/data/newfiles with /home/data/data1/newfiles
我用过
sed -i 's/data/data/data1/g' filename
但它不起作用。
答案 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