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

如何使用awk统计文件第二列以RQ开头的ID出现次数?

awk统计指定列以RQ开头内容的出现次数

原代码错误原因

  • match()函数参数顺序颠倒:awk中match()的正确语法为match(待检测字符串, 正则规则),你将正则和字段位置写反了
  • 正则规则不符合需求:^RQ$表示整个字段完全等于RQ,匹配前缀只需要写^RQ即可
  • 文件读取位置错误:你把输入文件ID.txt传给了后续的wc命令,管道前的awk没有拿到输入源,自然没有输出

正确实现方案

方案1:纯awk实现(推荐,无需额外调用wc)

直接在awk内完成计数,性能更高:

awk -F '\t' 'BEGIN {count=0} $2 ~ /^RQ/ {count++} END {print count}' ID.txt > RQ.txt

说明:

  • $2 ~ /^RQ/表示判断第二列是否匹配「以RQ开头」的正则规则
  • 匹配成功则计数器+1,处理完所有行后输出最终计数
  • 如果你的文件字段是空格分隔而非制表符分隔,可以去掉-F '\t'参数,awk默认按任意空白符分割字段

方案2:修正你的原有写法

调整参数顺序和文件位置即可得到正确结果:

awk -F '\t' '$2 ~ /^RQ/' ID.txt | wc -l > RQ.txt

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 01:15:00