我想使用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
答案 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和替换。