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

Bash Shell中按规则将文件移动到对应目录的循环脚本编写求助

Bash批量移动文件脚本方案

脚本实现

先切换到目标工作目录,再执行以下循环脚本:

cd /test
for file in mm??????????_Pool_*_text.csv; do
    # 从文件名中提取Pool_N格式的目录名
    pool_dir=$(echo "$file" | grep -o 'Pool_[0-9]*')
    # 拼接完整目标目录路径
    target_dir="/this/that/$pool_dir"
    # 创建目录(不存在则自动创建,已存在则无操作)
    mkdir -p "$target_dir"
    # 将文件移动到对应目录
    mv "$file" "$target_dir/"
done

关键细节说明

  • mm??????????_Pool_*_text.csv:用??????????匹配10位编码前缀,精准筛选符合命名规则的文件
  • grep -o 'Pool_[0-9]*':从文件名中提取出Pool_N字符串,作为目标目录的核心标识
  • mkdir -p:-p参数会自动创建不存在的上级目录,避免因目录缺失导致移动失败
  • 所有变量用双引号包裹,避免文件名含空格时出现异常

安全测试建议

正式执行前,可把mv替换成echo mv,脚本会打印出待执行的移动命令,确认路径无误后再改回mv,防止误操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 20:35:19