我有一个 wordpress 数据库的 sql 文件。我正在移动到文档根不同的另一台服务器。
旧文档根目录是/home/saeid/public_html
新的文档根目录是 /home/saeid/www/domain.com/html
我想用新路径替换所有出现的旧路径。
我看过这个用 bar 替换 foo 的示例...但是因为我想替换本身包含“/”字符的路径...我不确定它是否可以完成工作。sed -i -e 's/foo/bar/g' filename
答案1
只需使用不同的分隔符:
sed -i 's|foo|bar|g' filename
所以,就你而言:
sed -i 's|/home/saeid/public_html|/home/saeid/www/domain.com/html|g' file
这在info sed
:
s(替代)命令的语法是“s/regexp/replacement/flags”。 / 字符可以统一替换为任何给定 s 命令中的任何其他单个字符。人物(或使用任何其他字符代替)仅当前面有 \ 字符时,才可以出现在正则表达式或替换中。