열의 최대값을 포함하는 행의 다음 값을 어떻게 인쇄합니까?
for f in a*; do
awk 'BEGIN{a= 0}{if ($2>0+a) a=$2}{if($2 = a) b=$1} END{print FILENAME, b}' "$f"
done
ㅏ*
4 5
6 6
5 5.5
7 55
원하는 결과
a45 7
답변1
반복되는 키 필드의 첫 번째 값을 인쇄할지 마지막 값을 인쇄할지 여부에 따라 이를 수행하는 올바른 방법은 마지막 값을 인쇄하는 것입니다.
awk 'NR==1{max=$2} $2>=max{max=$2; val=$1} END{print FILENAME, val}' "$f"
또는 첫 번째 것을 인쇄하십시오.
awk 'NR==1{max=$2; val=$1} $2>max{max=$2; val=$1} END{print FILENAME, val}' "$f"