特定の値(>> 2など)でサブセットを指定し、列の最初の数字の合計数で割りたい列があります。どうすればいいですか?
サブセット>= 2の例:
入力:このような列
1
1
1
1
2
2
出力:
2/6=0.33333
私はawkを使ってこのようなことを試しました。
awk '($1 > 2) / $1' myfile
しかし、これはうまくいきません。
ベストアンサー1
> 2
あなたの例には値がないので>= 2
。
awk '$1 >= 2 { t++ } END { print t/NR }' myfile
これは最初の列の各値を繰り返し、値が2以上の場合に変数を増やしますt
。最後に、t
レコードの総数(行数)で除算して結果を印刷します。
文字通り式を印刷するには、次のようにします。
awk '$1 >= 2 { t ++ } END { print t"/"NR"="t/NR }' myfile