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

可按指定规则批量重命名GoPro文件的Bash脚本

GoPro自定义规则批量重命名Bash脚本

以下脚本可直接实现你需要的重命名逻辑,默认带预览模式,确认结果正确后再执行实际重命名,避免误改文件。

脚本代码

#!/bin/bash

# 遍历当前目录下所有MP4/mp4后缀的文件
for file in *.{MP4,mp4}; do
    # 通配符无匹配时跳过,避免报错
    [ -e "$file" ] || continue

    # 拆分文件名主体和扩展名
    main_name="${file%.*}"
    ext="${file##*.}"

    # 文件名长度校验,不符合GoPro命名规则的文件直接跳过
    if [ ${#main_name} -lt 13 ]; then
        echo "跳过文件 $file:文件名长度不符合规则"
        continue
    fi

    # 按位置拆分文件名各段
    prefix="${main_name:0:2}"          # 取前2位字符
    move_segment="${main_name:2:2}"    # 取第3-4位字符(bash字符串索引从0开始)
    middle="${main_name:4:8}"          # 取第5位开始的8位字符
    suffix="${main_name:12}"           # 取第13位到末尾的所有字符

    # 按规则拼接新文件名
    new_name="${prefix}${middle}-${move_segment}-${suffix}.${ext}"

    # 【预览模式】仅打印重命名对应关系,不实际修改文件
    echo "重命名映射:$file → $new_name"
    # 【实际执行】确认预览结果正确后,注释上面的echo行,取消下面行的注释即可真实重命名
    # mv -n -- "$file" "$new_name"
done

使用步骤

  • 将上述代码保存为rename_gopro.sh,放到存放GoPro视频的目录下
  • 执行命令给脚本添加运行权限:chmod +x rename_gopro.sh
  • 执行./rename_gopro.sh,终端会打印所有文件的重命名对应关系,逐行核对是否符合预期
  • 确认所有映射关系无误后,编辑脚本文件,注释echo打印行,取消mv命令行的注释,再次执行脚本即可完成批量重命名

安全提示:脚本中mv命令添加了-n参数,遇到同名文件时不会强制覆盖,可避免文件误覆盖丢失。

规则匹配验证

用你提供的样例测试:

  • 原文件名:GX010112_1647792633961.MP4
  • 拆分后prefix为GX、move_segment为01、middle为0112_164、suffix为7792633961
  • 拼接得到的新文件名为GX0112_164-01-7792633961.MP4,和你给出的目标文件名完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 17:42:14