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

如何使用shell脚本读取CSV文件并提取指定标记间的有效记录

你的原脚本存在以下问题:

  1. 仅匹配内容完全为finance的行,大小写不匹配,也没有实现区间提取逻辑
  2. 没有记录当前所属的部门分类,无法生成符合要求的三列输出
  3. 没有过滤空行、无效行的逻辑

推荐使用awk实现该需求,处理结构化文本比纯Shell循环更高效稳定,命令如下:

awk '
BEGIN {
    FS = ","
    print "department,name,amount"
}
# 匹配部门区间开始,开启提取标记、记录当前部门
$1 == "Finance" { in_block = 1; dept = "Finance"; next }
$1 == "Marketing" { in_block = 1; dept = "Marketing"; next }
# 匹配部门区间结束,关闭提取标记
$1 == "Finance Total" || $1 == "Marketing Total" { in_block = 0; next }
# 处理区间内的有效行:排除空行、字段为空的行
in_block == 1 && NF == 2 && $1 != "" && $2 != "" {
    print dept "," $1 "," $2
}
' file1.csv > output.csv

直接执行上述命令即可生成符合预期的output.csv文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 05:06:04