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

如何使用grep统计CSV文件指定列中字符串的出现次数

仅匹配CSV第三列中"Marie"出现次数的调整方案

方法1:用awk实现(最适配列分隔场景,稳定性高)

直接使用awk按分隔符提取第三列匹配即可,命令如下:

awk -F ',' '$3 ~ /Marie/ {cnt++} END {print cnt}' 你的文件名.csv

参数说明:

  • -F ',' 指定逗号为字段分隔符,适配CSV格式
  • $3 ~ /Marie/ 仅判断第三列是否包含"Marie"字符串,匹配成功则计数加1
  • 最终输出计数结果,你提供的示例文件运行后会返回2,完全符合预期

方法2:用grep实现的调整版本

如果需要继续用grep实现,可以通过正则限定仅匹配前两列之后的内容,命令如下:

grep -c "^[^,]*,[^,]*,.*Marie" 你的文件名.csv

参数说明:

  • 正则^[^,]*,[^,]*, 匹配行开头的前两列内容,确保后续的"Marie"只出现在第三列及之后,你的场景中第三列是最后一列,完全适用
  • -c 参数直接输出匹配行数,不需要额外管道给wc -l

特殊场景说明

如果你的CSV存在带逗号的被引号包裹的字段,上述基础方法会识别错位,建议使用专用CSV处理工具csvkit实现:

csvgrep -c favourite_person -r 'Marie' 你的文件名.csv | wc -l

该命令会按列名精准匹配,不需要手动计算列序号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 05:36:11