You need to enable JavaScript to run this app. Bash如何遍历CSV文件三列变量循环执行指定命令?
优惠活动
大模型
产品
解决方案
定价
更多

Bash如何遍历CSV文件三列变量循环执行指定命令?

Bash逐行读取CSV执行命令实现方案

你可以直接使用下方脚本实现需求,无需反复调用awk、cat等外部工具读取文件:

#!/bin/bash
# 替换为你的CSV文件实际存储路径
csv_file="/path/my_ids.csv"

# 逐行读取CSV并拆分字段执行命令
while IFS=, read -r file id1 id2 || [ -n "$file" ]; do
    command -base "$file" -tp "$id1" -tp "$id2" -all
done < "$csv_file"

关键逻辑说明

  • IFS=, 指定行内容分隔符为逗号,匹配CSV的格式规则,read命令会自动将每行内容按逗号拆分后依次赋值给$file、$id1、$id2三个变量
  • || [ -n "$file" ] 用于兼容CSV最后一行没有换行符的场景,避免漏掉最后一行数据
  • 所有变量外层添加双引号,可避免字段中存在空格、特殊字符时命令执行报错
  • 若你的CSV包含表头行需要跳过,可在循环内第一行添加如下判断逻辑:
    # 双引号内替换为你实际表头的第一列字段值即可
    [ "$file" = "表头第一列内容" ] && continue
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 17:00:02