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

Linux技巧:如何按文件名首字符将所有文件移动到对应子文件夹?

批量整理文件到对应首字母/数字文件夹

解决方案脚本

直接在目标文件夹下执行以下bash命令即可:

for file in *; do
  # 仅处理文件,跳过子目录
  [ -f "$file" ] || continue
  # 提取文件名首字符
  first_char="${file:0:1}"
  # 判断首字符类型并确定目标文件夹
  if [[ "$first_char" =~ [0-9] ]]; then
    dir="#"
  else
    # 将小写字母转为大写
    dir=$(tr '[:lower:]' '[:upper:]' <<< "$first_char")
  fi
  # 创建目标文件夹(已存在则不报错)
  mkdir -p "$dir"
  # 移动文件到目标文件夹(如需避免覆盖,添加-n参数:mv -n "$file" "$dir/")
  mv "$file" "$dir/"
done

脚本说明

  • for file in *:遍历当前目录下的所有条目
  • [ -f "$file" ] || continue:过滤掉子目录,只处理普通文件
  • ${file:0:1}:截取文件名的第一个字符
  • [[ "$first_char" =~ [0-9] ]]:正则匹配判断首字符是否为数字
  • tr '[:lower:]' '[:upper:]':将小写首字母转换为大写,确保文件夹命名统一
  • mkdir -p "$dir":-p参数保证文件夹不存在时创建,已存在时不抛出错误
  • mv "$file" "$dir/":完成文件移动,添加-n参数可防止覆盖已有同名文件

复用方法

  1. 将上述脚本保存为organize_files.sh
  2. 赋予执行权限:chmod +x organize_files.sh
  3. 切换到需要整理的文件夹:cd /path/to/target/folder
  4. 执行脚本:./organize_files.sh

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 23:31:00