![최대값이 다른 값의 중앙값보다 큰 경우 행 이름을 인쇄하는 방법](https://linux55.com/image/113982/%EC%B5%9C%EB%8C%80%EA%B0%92%EC%9D%B4%20%EB%8B%A4%EB%A5%B8%20%EA%B0%92%EC%9D%98%20%EC%A4%91%EC%95%99%EA%B0%92%EB%B3%B4%EB%8B%A4%20%ED%81%B0%20%EA%B2%BD%EC%9A%B0%20%ED%96%89%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%EC%9D%B8%EC%87%84%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
최대값이 나머지 값의 중앙값보다 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