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

У меня есть следующая проблема, связанная с сортировкой содержимого файла. У меня есть файл, называемый 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 

  • Сортировка полей inline
  • Как удалить строки в текстовом файле, содержащие три дублирующихся поля (строки sep пробелами)
  • Помощь в поиске файлов для шаблонов регулярных выражений, рекурсивно, со специализированным выпуском
  • Как численный сортировать по последнему столбцу?
  • Преобразование файлов .docx в обычный текст и сохранение разрывов строк для поддержания ссылок на номера строк на исходный документ: howto & implications?
  • Удаление повторяющихся строк после сравнения первого шаблона и специального шаблона
  • Как заменить все подстрочные индексы UTF-8 с процентным кодированием на простой текст UTF-8?
  • Невозможно сохранить содержимое файла cat или grep
  • 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 - лучшая ОС в мире.