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

如何统计首列以E开头的行中第二字段的出现次数?AWK语法问题

解决方法
  • 错误原因:你在awk脚本里混用了Shell的条件判断语法,awk有自己的语法规则,无法识别Shell的[[ ... ]]写法。

  • 正确的awk命令:

    awk -F, '$1 ~ /^E/ {map[$2]++} END {print "total no of occurrences:"; for (key in map) print key ": " map[key]}' file.txt
    
  • 命令解释:

    • -F,:指定字段分隔符为逗号
    • $1 ~ /^E/:匹配首列($1)以E开头的行(正则表达式^E表示行首的E)
    • {map[$2]++}:对符合条件的行,以第二字段($2)为键,在关联数组map中对应计数加1
    • END块:处理完所有行后执行,先输出指定提示文本,再遍历数组输出每个字段的出现次数
  • 示例输出:

    total no of occurrences:
    Rv0761: 2
    Rv3086: 1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 18:45:42