如果低于0,则为awk

时间:2013-10-20 13:25:47

标签: awk

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

1 个答案:

答案 0 :(得分:2)

您已告诉awk将其输入行拆分为字符,,但您的示例输入中不包含,个字符。您的示例输入使用空格来分隔其输入字段。因此$1是整个输入行,$2是空字符串,始终小于0

修复您的输入,或告诉awk拆分空格。

此外,如果您使用的是GNU awk,如果您的内容可以在引用字段中包含空格(或逗号?),则可能需要阅读“Splitting by Content” in the GNU Awk User's Guide