如何使用awk等工具提取SRMAPQ数值大于60的dataframe数据行
AWK 实现方案
以下命令支持SRMAPQ字段出现在行任意位置的场景,直接运行即可得到预期筛选结果:
awk 'match($0, /SRMAPQ=([0-9]+)/, arr) && arr[1] > 60' 你的目标文件名
命令说明
match($0, /SRMAPQ=([0-9]+)/, arr)会扫描整行内容,匹配SRMAPQ=后跟随的数字,将捕获到的数值存入数组arr的第1位- 仅当匹配到SRMAPQ字段且对应数值大于60时,整行才会被输出
- 如果你的环境是不支持match第三个参数的低版本awk,可以使用兼容版本命令:
awk 'match($0, /SRMAPQ=([0-9]+)/) {val=substr($0, RSTART+7, RLENGTH-7); if(val>60) print}' 你的目标文件名
内容的提问来源于stack exchange,提问作者SG Kwon
相关产品推荐
相关产品推荐

