如何统计首列以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中对应计数加1END块:处理完所有行后执行,先输出指定提示文本,再遍历数组输出每个字段的出现次数
示例输出:
total no of occurrences:
Rv0761: 2
Rv3086: 1
内容的提问来源于stack exchange,提问作者Oh God
相关产品推荐
相关产品推荐

