我的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
答案 0 :(得分:4)
试试这个:
awk 'BEGIN {FS='\t'} {if ($7 < 0.05) print $0}'
BEGIN子句为您提供了将默认字段分隔符(FS)更改为制表符('\ t')的位置。这在旧版本的awk中不起作用(gawk可能是一个有用的替代方案)。
主要逻辑发生在第二组花括号内...如果第7列是<= 0.05,你会说打印线。