У меня есть список студенческих записей, grades
, которые я хочу отсортировать по GPA, вернув 5 лучших результатов. По какой-то причине count<=7
и ниже отсекает верхний результат. Я не могу понять, почему это так.Top awk result cut off with count condition
Кроме того, существует ли более элегантный способ удалить первый столбец после сортировки, чем результаты трубопроводов, полученные до awk
от sort
?
[email protected]:~> awk '{ if (count<=7) print $3, $0; count++; }' grades | sort -nr | awk '{ print $2 " " $3 " " $4 " " $5 }'
Ahmad Rashid 3.74 MBA
James Davis 3.71 ECE
Sam Chu 3.68 ECE
John Doe 3.54 ECE
Arun Roy 3.06 SS
James Adam 2.77 CS
Al Davis 2.63 CS
Rick Marsh 2.34 CS
[email protected]:~> awk '{ if (count<=8) print $3, $0; count++; }' grades | sort -nr | awk '{ print $2 " " $3 " " $4 " " $5 }'
Art Pohm 4.00 ECE
Ahmad Rashid 3.74 MBA
James Davis 3.71 ECE
Sam Chu 3.68 ECE
John Doe 3.54 ECE
Arun Roy 3.06 SS
James Adam 2.77 CS
Al Davis 2.63 CS
Rick Marsh 2.34 CS
grades
:
John Doe 3.54 ECE
James Davis 3.71 ECE
Al Davis 2.63 CS
Ahmad Rashid 3.74 MBA
Sam Chu 3.68 ECE
Arun Roy 3.06 SS
Rick Marsh 2.34 CS
James Adam 2.77 CS
Art Pohm 4.00 ECE
John Clark 2.68 ECE
Nabeel Ali 3.56 EE
Tom Nelson 3.81 ECE
Pat King 2.77 SS
Jake Zulu 3.00 CS
John Lee 2.64 EE
Sunil Raj 3.36 ECE
Charles Right 3.31 EECS
Diane Rover 3.87 ECE
Aziz Inan 3.75 EECS
Lu John 3.06 CS
Lee Chow 3.74 EE
Adam Giles 2.54 SS
Andy John 3.98 EECS
если вы добавите инструкцию отладки для значения 'count', вы можете увидеть, в чем проблема. Удачи. – shellter