替换文件内的 unix 路径

替换文件内的 unix 路径

我有一个 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 命令中的任何其他单个字符。人物(或使用任何其他字符代替)仅当前面有 \ 字符时,才可以出现在正则表达式或替换中。

相关内容