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

如何根据HTML文件内部指定div标签内容批量重命名对应文件

实现方案

完全可以通过基础的bash命令+grep/awk工具实现需求,无需编写复杂程序,完整方案如下:

1. 先验证提取逻辑

执行下方命令,确认可以正确输出所有HTML文件中目标标签内的数字串:

grep -oP '<div id="myID" style="display:none">\K[^<]+' ./*.html

注:如果是macOS系统自带的grep不支持-P参数,可替换为sed -n 's/.*<div id="myID" style="display:none">\([^<]*\)<\/div>.*/\1/p' ./*.html验证

2. 完整重命名脚本(含重复文件防覆盖处理)

将以下代码保存为rename_html.sh,放在HTML文件所在的目录下:

#!/bin/bash
# 遍历当前目录下所有HTML文件
for old_file in ./*.html; do
    # 跳过无匹配时通配符未展开的无效项
    [ -f "$old_file" ] || continue
    # 提取目标标签内的字符串,取第一个匹配结果
    file_id=$(grep -oP '<div id="myID" style="display:none">\K[^<]+' "$old_file" | head -n 1)
    # 跳过未匹配到目标标签的文件
    [ -z "$file_id" ] && continue

    # 生成目标文件名,处理重复冲突
    new_file="${file_id}.html"
    version=2
    while [ -f "$new_file" ]; do
        new_file="${file_id} v${version}.html"
        ((version++))
    done

    # 执行重命名
    mv -v "$old_file" "$new_file"
done

3. 执行步骤

  1. 给脚本添加执行权限:chmod +x rename_html.sh
  2. 建议先做模拟运行验证:把脚本最后一行的mv -v改为echo mv -v,执行脚本后确认输出的重命名规则符合预期,再去掉echo执行正式重命名即可。

内容的提问来源于stack exchange,提问作者Ali Nato

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 16:57:01