получить имя студента, имеющего самые высокие оценки в unix из текстового файла3? - PullRequest
0 голосов
/ 12 июля 2020

Это файл student.txt

RollNo|Name|Marks
123|Raghu|80
342|Maya|45
561|Gita|56
480|Mohan|71

Я хочу получить имя ученика с наивысшим результатом.

1 Ответ

0 голосов
/ 12 июля 2020

tail +2 students.txt | awk -F "|" '{print $3 " " $2}' | sort -n | tail -1 | cut -d " " -f2

Что он делает:

tail +2 печатает весь файл, начиная со второй строки (таким образом игнорируя первую строку, которая является заголовком).

awk разделяет каждую строку на отдельные поля с разделителем "|" (что дает нам три столбца), из которых мы выбираем третий и второй столбцы.

Затем мы sort результаты , используя numeri c values ​​(-n), что означает, что 10 больше 2. В алфавитном порядке 2 больше 10.

Затем мы выбираем последнюю строку, вызывая tail -1.

Команда cut разделяет поля разделителем «» (-d " ") и печатает только имя, которое является вторым полем (-f 2).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...