Перечислите строки с наивысшими баллами

У меня есть следующая проблема, связанная с сортировкой содержимого файла. У меня есть файл, называемый points.txt и он содержит следующую таблицу данных:

 Jim:4 Tim:8 Lin:6 Tom:1 Esko:2 Jaska:5 Erkki:7 

Теперь, как я могу перечислить следующий список в числовом порядке (самый высокий первый) или как я могу перечислить три имени с наивысшими баллами. Я пытаюсь сделать следующее: они, похоже, не работают

 sort -n -k 1,1 points.txt sort -n points.txt sort -n ^: points.txt 

  • Сортировка по двум столбцам
  • Сортировка всех строк по горизонтали по ссылке на столбцы в определенной строке
  • Необходимо использовать grep и сортировать для сопоставления записей и отображения Y и N
  • Поддерживает ли сортировка сортировку файла на месте, например `sed --in-place`?
  • Сортировка на основе поля1, field2, но сохранение поля 1 сортировки и игнорирование нулей / пробелов во 2-й сортировке
  • Используйте команду sed, чтобы проверить, существует ли конкретная строка, если нет, добавьте ее
  • Ssh на несколько серверов и объединить файлы в один
  • XML-файл с символами `^ @`?
  • One Solution collect form web for “Перечислите строки с наивысшими баллами”

    Если вы ищете верхнюю 3

     sort -k2,2rn -t: points.txt | head -n 3 | cut -f1 -d: 

    -k указывает поле сортировки, следующие части указывают на следующее:

    2,2 – ключ сортировки запускается и заканчивается в поле 2

    n – числовая сортировка

    r – обратная сортировка

    -t используется для указания разделителя полей, который в этом случае равен :

    Linux и Unix - лучшая ОС в мире.