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

扩展Zsh脚本:重命名Assets文件夹并同步HTML资源引用

解决方案

以下是扩展后的Zsh脚本,完成assets文件夹重命名及HTML资源引用修正:

#!/bin/zsh

for zipfile in **/*.zip; do
    echo "Processing ZIP file: $zipfile"

    # 递归解压,保留目录结构
    unzip -q -o "$zipfile" -d "${zipfile:r}"

    # 递归查找并处理每个包含note.html的目录
    for dir in "${zipfile:r}"/**/; do
        if [[ -f "$dir/note.html" ]]; then
            folder_name="${dir:t}"  # 提取当前文件夹名称
            # 重命名note.html为文件夹同名HTML
            mv "$dir/note.html" "$dir/$folder_name.html"
            echo "Renamed note.html to $folder_name.html in $dir"

            # 处理assets文件夹重命名及HTML引用修正
            if [[ -d "$dir/assets" ]]; then
                new_assets_name="${folder_name}_assets"
                # 重命名assets文件夹
                mv "$dir/assets" "$dir/$new_assets_name"
                echo "Renamed assets to $new_assets_name in $dir"

                # 替换HTML中所有assets路径引用
                sed -i '' "s/assets\//${new_assets_name}\//g" "$dir/$folder_name.html"
                echo "Updated asset references in $folder_name.html"
            fi
        fi
    done
done

关键扩展说明

  • assets文件夹重命名:在每个包含note.html的目录下,检查是否存在assets目录,若存在则将其重命名为[文件夹名]_assets,避免多文件夹下assets重名冲突。
  • HTML引用修正:使用sed命令批量替换HTML文件中所有指向assets/的资源路径,替换为新的[文件夹名]_assets/,确保图片、附件等资源能被正确加载。
  • 注意:若使用Linux环境,需将sed -i ''改为sed -i(Linux下sed的原地修改参数无需空字符串)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 10:52:25