You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Mac终端用sed正则批量替换所有HTML文件的title标签

批量替换HTML title标签的Mac终端命令

场景说明

你的站点目录结构如下:

📦My Site
 ┣ 📂modules
 ┃ ┣ 📜123.html
 ┃ ┗ 📜456.html
 ┣ 📂cart
 ┃ ┣ 📜index.html
 ┃ ┗ 📜cart.html

项目包含数十个文件夹、数千个HTML文件,需要将所有子文件夹下HTML文件中内容各不相同的<title>%Different Titles%</title>统一替换为<title>My New Website</title>。

可直接执行的命令

  1. 先进入项目根目录,把路径替换成你本地My Site文件夹的实际路径即可:
cd /path/to/your/My\ Site
  1. 执行批量替换(适配Mac自带sed,直接修改原文件,覆盖绝大多数常规单行title场景):
find . -type f -name "*.html" -exec sed -i '' 's/<title>.*<\/title>/<title>My New Website<\/title>/g' {} +

特殊场景适配

如果项目里存在跨行书写的title标签(即<title>和</title>不在同一行),上面的sed命令无法匹配,可以用Mac系统自带的perl执行替换,不需要额外安装软件:

find . -type f -name "*.html" -exec perl -0777 -i -pe 's/<title>.*?<\/title>/<title>My New Website<\/title>/sg' {} +

参数说明

  • find . -type f -name "*.html":递归遍历当前目录下所有.html格式的文件,覆盖所有层级的子文件夹
  • sed -i '':Mac自带BSD版本sed要求-i参数必须传入备份文件后缀,传入空字符串''表示不生成备份,直接修改原文件;如果需要留备份防止改错,可以写成-i '.bak',执行后会给每个修改的html生成一个带.bak后缀的备份文件
  • 正则匹配规则:匹配任意title标签内容,直接替换为目标title文本,忽略原有title的内容差异

内容的提问来源于stack exchange,提问作者Евгений Греков

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 04:54:27