0
awk -F, '$2>0 {print $1}' file.csv

これは何も返しません。

awk -F, '$2<0 {print $1}' file.csv

これはすべてを返します。

私が欲しいのは、$2 の値が 0 より小さい場合、$1 に名前が欲しいということです。0より大きい場合も同様。

要約すると、リストを 2 つに分割したいと思います。ゼロより上と下。

ファイル.csv:

"" "log2FoldChange" "padj"
"AASS" 0.585822345291 0.0142249243232589
"ABCC3" -1.12579715427411 0.00503178459354681
4

1 に答える 1

2

文字で入力行を分割するよう awk に指示しました,が、入力例には文字が含まれていません,。入力例では、スペースを使用して入力フィールドを区切ります。入力行$1全体$2も同様で、常に より小さい空の文字列です0

入力を修正するか、スペースで分割するよう awk に指示してください。

また、GNU awk を使用している場合、コンテンツの引用フィールド内にスペース (またはカンマ?) を含めることができる場合は、 GNU Awk ユーザー ガイドの「コンテンツによる分割」をお読みください。

于 2013-10-20T14:02:19.687 に答える