最大値が残りの値の中央値より2倍大きい場合、行名を印刷する方法。
入力する
name s1 s2 s3
g1 20.17 0.21 0.57
g2 0.19 0.19 94.0
g3 0.15 0.21 0.26
g4 0.09 0.19 0.16
g5 0.019 0.19 0
g7 2.28 0 0
出力
g1 s1 20.17
g2 s3 94.0
g7 s1 2.28
答え1
アッ解決策:
awk 'NR>1{ k=$3*2; f=""; if($2>k) f="s1" OFS $2; else if($4>k) f="s3" OFS $4;
if (f!="") print $1,f }' OFS='\t' file
出力:
g1 s1 20.17
g2 s3 94.0
g7 s1 2.28