我的CSV文件是制表符分隔的,我试图过滤掉大于的p值0.05(换句话说,我想保留条目p <= 0.05).p值在第7列,我尝试使用以下内容:
awk '$7 <= 0.05 {print $0}' rawFile.csv > filteredFile.csv
Run Code Online (Sandbox Code Playgroud)
但是这种过滤不起作用,它返回文件而不进行过滤.
这里的p值column #7是这样的:0.33532935, 0.0, 0.8591287
小智 4
试试这个:
awk 'BEGIN {FS='\t'} {if ($7 < 0.05) print $0}'
Run Code Online (Sandbox Code Playgroud)
BEGIN 子句提供了将默认字段分隔符 (FS) 更改为制表符 ('\t') 的位置。这在旧版本的 awk 中不起作用(gawk 可能是一个有用的替代方案)。
主要逻辑发生在第二组大括号内...如果第 7 列 <= 0.05,则打印该行。