在 Rocky Linux 8 上,可以使用 sed
命令批量替换指定网址,并配合 find
命令处理所有 HTML 文件。
示例命令:
find /path/to/directory -type f -name "*.html" -exec sed -i 's|旧网址|新网址|g' {} +
命令解析:
find /path/to/directory -type f -name "*.html"
- 查找
/path/to/directory
目录下所有.html
文件。
- 查找
-exec sed -i 's|旧网址|新网址|g' {} +
- 使用
sed
进行 就地修改(-i),将 旧网址 替换为 新网址。 s|旧网址|新网址|g
:替换所有匹配的内容。{}
代表find
结果的文件名,+
使find
传递多个文件,提高效率。
- 使用
示例
假设你要替换 /var/www/html
目录下所有 HTML 文件里的 http://old.example.com
为 https://new.example.com
,命令如下:
find /var/www/html -type f -name "*.html" -exec sed -i 's|http://old.example.com|https://new.example.com|g' {} +
如果你需要更强大的替换功能,可以用 perl
:
find /var/www/html -type f -name "*.html" -exec perl -pi -e 's|http://old.example.com|https://new.example.com|g' {} +
⚠ 注意:
- 建议先备份文件,以防替换出错:
cp -r /var/www/html /var/www/html_backup
sed
可能对一些特殊字符(如/
、&
)敏感,可以用|
代替/
作为分隔符,避免转义符\
。
如果有更复杂的需求,可以告诉我具体情况,我帮你优化命令。 😊