从CSV文件中筛选出小于阈值的值

时间:2013-11-18 17:53:28

标签: csv awk

我的CSV文件以制表符分隔,我正在尝试过滤掉大于0.05的p值(换句话说,我希望将条目保留为p <= 0.05)。 p值在第7列,我尝试使用以下内容:

 awk '$7 <= 0.05 {print $0}' rawFile.csv > filteredFile.csv

但是这种过滤不起作用,它会在不过滤的情况下返回文件。

column #7中的p值是这样的:0.33532935, 0.0, 0.8591287

1 个答案:

答案 0 :(得分:4)

试试这个:

awk 'BEGIN {FS='\t'} {if ($7 < 0.05) print $0}'

BEGIN子句为您提供了将默认字段分隔符(FS)更改为制表符('\ t')的位置。这在旧版本的awk中不起作用(gawk可能是一个有用的替代方案)。

主要逻辑发生在第二组花括号内...如果第7列是<= 0.05,你会说打印线。