awk - 提取适合字符模式的行,后跟可变数字
问题描述
我有一个包含几列的文件,我想只提取第 8 列中值高于 0.7 的那些行(最大值为 1)。我的第 8 列如下所示:
DR2=0.05;AF=0.0009;IMP
DR2=0.05;AF=0.0017;IMP
DR2=0.74;AF=0.0012;IMP
我在 awk 中尝试了以下代码:
awk '{$8 ~ /^DR2=[>0.7]*/ }' myfile > myfile.filtered
我尝试只识别“DR2 =”部分并且它有效,所以问题似乎是数字部分。
非常感谢您,任何帮助将不胜感激!
解决方案
理想情况下,您应该根据您显示的示例发布完整的示例,您能否尝试以下操作。
awk '$8 ~ /^DR2=/{split($8,array,"[=;]");if(array[2]>0.7){print}}' Input_file
推荐阅读
- angular - Angular Schematics:trustedSubscriber._addParentTeardownLogic
- php - 问题比较php中的值
- apache-spark - 无法从主机的传输池中获取传输
- c++ - VS 2012 的嵌套命名空间混淆
- javascript - 从javascript加载动态视频源?
- java - 从 Quartz 中的作业类名称获取作业密钥
- angular - Angular 6 / 在 tsconfig.lib.json 中声明库的路径
- java - 将参数设置为 rawQuery 时出现 SQLiteException
- javascript - 当页面内容通过 jQuery ajax 调用响应在 DOM 上呈现时,在视图上呈现脚本部分
- go - 关于主程序和子程序同时收听同一频道的问题