我想知道如何在托管服务提供商的 Linux 服务器上查找和替换所有 HTML、htm、PHP 和 txt 扩展文件中的文本。我可以做 SSH。
要找到的文字:http://mydomain.example.com
要替换的文本:http://otherdomain.example.com/MyDomain
请给我确切的命令,如果它可以在更换前提示确认,那将很有帮助。
这是一种使用方法sed
和一个for
循环。在覆盖之前使用-i
标志 withmv
提示:
for i in *.html *.htm *.php *.txt; do sed 's%\(http://www\.\)\(MyDomain\)\(\.com\)%\1OtherDomain\3/\2%g' "$i" > tmp && mv -i tmp "$i"; done
sed -i 's/http:\/\/www.mydomain.com/http:\/\/www.otherdomain.com\/MyDomain/gi' *.txt *.html *.htm *.php