在查找和替换字符串中使用斜杠递归查找和替换文件夹中的sed

时间:2017-07-17 10:08:26

标签: sed

我想使用sed命令将/var/www替换为/home/lokesh/www

sed -i 's/\//var\//www/\//home\//lokesh\//www/g' lks.php

但这会出错:

sed: couldn't open file ww/\//home\//lokesh\//www/g: No such file or directory

1 个答案:

答案 0 :(得分:1)

如果使用正斜杠作为sed替换命令的分隔符,则需要在模式或替换中转义反斜杠:

sed -i 's/\/var\/www\//\/home\/lokesh\/www\//g' lks.php

但是Sed的替换命令可以使用任何字符作为分隔符。相同的命令可能更容易理解为:

sed -i 's:/var/www/:/home/lokesh/www/:g' lks.php

斜杠的常见替代方法包括冒号(:),逗号(,)和竖线(|),但任何字符都可以。从sed手册页:

  

可以使用反斜杠或换行符以外的任何字符代替斜杠来分隔RE和替换。