awk -F, '$2>0 {print $1}' file.csv
这没有任何回报。
awk -F, '$2<0 {print $1}' file.csv
这会返回所有内容。
我想要的是如果$ 2的值低于0,我希望名称为$ 1。 如果高于0,则相同。
总而言之,我想把我的名单分成两部分;高于和低于零。
FILE.CSV:
"" "log2FoldChange" "padj"
"AASS" 0.585822345291 0.0142249243232589
"ABCC3" -1.12579715427411 0.00503178459354681
答案 0 :(得分:2)
您已告诉awk将其输入行拆分为字符,
,但您的示例输入中不包含,
个字符。您的示例输入使用空格来分隔其输入字段。因此$1
是整个输入行,$2
是空字符串,始终小于0
。
修复您的输入,或告诉awk拆分空格。
此外,如果您使用的是GNU awk,如果您的内容可以在引用字段中包含空格(或逗号?),则可能需要阅读“Splitting by Content” in the GNU Awk User's Guide。