You need to enable JavaScript to run this app. 在Bash中根据文件名固定位置关键词将文件移动到对应子文件夹
优惠活动
大模型
产品
解决方案
定价
更多

在Bash中根据文件名固定位置关键词将文件移动到对应子文件夹

Bash 批量按文件名分类移动文件实现方案

实现逻辑

基于你给出的固定文件名格式,按下划线拆分字段后,第6个字段就是要求的分类关键词(第五个下划线之后、Dl字段之前的内容),逻辑如下:

  1. 遍历匹配前缀的目标文件,避免误操作无关文件
  2. 提取每个文件的分类关键词
  3. 自动创建对应分类目录(已存在则跳过)
  4. 将文件移动到对应分类目录

测试验证(优先执行,仅打印操作不实际生效)

先执行以下命令输出所有待执行操作,确认分类规则符合预期:

for file in Gmc_W_GCtl_*; do
  category=$(echo "$file" | cut -d'_' -f6)
  echo "mkdir -p \"$category\" && mv \"$file\" \"$category/\""
done

检查输出的分类目录名和对应文件是否匹配,确认无误后再执行实际操作。

实际执行命令

for file in Gmc_W_GCtl_*; do
  category=$(cut -d'_' -f6 <<< "$file")
  mkdir -p "$category"
  mv -- "$file" "$category/"
done

参数说明

  • cut -d'_' -f6:指定下划线为分隔符,提取第6个字段作为分类关键词,完全匹配你要求的截取范围
  • mkdir -p:自动创建不存在的分类目录,目录已存在时不会报错
  • mv --:避免文件名以-开头时命令识别异常,提升兼容性
  • 前缀匹配Gmc_W_GCtl_*:仅处理符合命名规则的目标文件,避免误操作目录下其他无关文件;如果确定要处理目录下所有文件,可替换为*

注意事项

  • 操作前建议先备份全部目标文件,避免误操作导致文件丢失
  • 必须先执行测试验证步骤,确认分类逻辑正确后再执行实际移动操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 15:54:03