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

使用Bash自动整理CSV文件:按Cell分类归档的技术需求

Bash脚本自动整理CSV文件:按Cell分类并归档Summary文件

没问题,我来帮你写一个简洁的Bash脚本,完美匹配你的需求。先直接上可用的脚本,再一步步拆解说明细节:

#!/bin/bash

# 指定CSV文件所在的文件夹,可根据实际路径修改
CSV_DIR="./CSV文件夹"

# 遍历指定目录下的所有CSV文件
for file in "$CSV_DIR"/*.csv; do
    # 跳过目录下无CSV文件时的通配符占位符
    [ -e "$file" ] || continue

    # 提取纯文件名(去掉路径部分)
    filename=$(basename "$file")

    # 从文件名中提取Cell标识(匹配Cell开头+数字的格式)
    if [[ $filename =~ Cell[0-9]+ ]]; then
        cell=${BASH_REMATCH[0]}
    else
        # 遇到不符合命名规则的文件,跳过并提示
        echo "跳过不符合命名规则的文件:$filename"
        continue
    fi

    # 创建Cell目录及对应的Summary子目录(-p确保父目录不存在时自动创建,避免报错)
    cell_dir="$CSV_DIR/$cell"
    summary_dir="$cell_dir/Summary"
    mkdir -p "$summary_dir"

    # 根据文件名后缀,将文件移动到对应目录
    if [[ $filename == *_summary.csv ]]; then
        mv "$file" "$summary_dir/"
        echo "已移动:$filename -> $summary_dir/"
    else
        mv "$file" "$cell_dir/"
        echo "已移动:$filename -> $cell_dir/"
    fi
done

echo "CSV文件整理完成!"

关键逻辑说明

  • 指定目标文件夹:修改CSV_DIR变量为你的实际路径(比如/home/yourname/data/CSV文件夹),脚本会自动处理该目录下的所有CSV文件
  • 安全遍历文件:[ -e "$file" ] || continue可以避免目录下没有CSV文件时,脚本误处理通配符字符串本身
  • 精准提取Cell名称:用Bash原生正则匹配Cell[0-9]+,能准确抓取Cell1、Cell8甚至Cell10这类标识,比简单的字符串切割更可靠
  • 自动创建目录:mkdir -p会递归创建所需目录,即使Cell目录或Summary子目录已经存在也不会报错
  • 分类移动文件:通过判断文件名是否包含_summary.csv后缀,将文件分别归档到Summary子目录或Cell根目录

使用步骤

  1. 将上述代码保存为organize_csv.sh文件
  2. 给脚本添加执行权限:chmod +x organize_csv.sh
  3. 运行脚本:./organize_csv.sh

可选调整

  • 如果需要保留原文件(而不是移动),可以把脚本中的mv命令改成cp
  • 如果你的Cell命名规则包含字母(比如CellA1),可以把正则表达式改成Cell[a-zA-Z0-9]+来适配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:54:14