Правила и примеры команды сортировки Linux

Данные в текстовом файле Linux могут быть отсортированы с помощью команды сортировки, если каждый элемент каким-либо образом разделен. Часто запятая используется в качестве разделителя для разграниченной информации.

Основные правила сортировки

Команда sort переставляет строки в текстовом файле, чтобы отсортировать их по номерам и алфавиту. Правила по умолчанию для команды сортировки:

  • Текст, начинающийся с цифры, появляется перед текстом, начинающимся с буквы; младшие числа сортируют первыми.
  • Текст, который начинается с буквы, которая появляется в алфавите раньше, чем первая буква других текстовых записей, сортируется перед текстом, который начинается с буквы, которая появляется позже в алфавите.
  • Там, где текст начинается с прописных и строчных букв одной и той же буквы, строчный экземпляр сортируется первым.

Сортировка текстового файла

Чтобы отсортировать строки в файле Linux с разделителями, вы используете команду sort следующим образом:

который сортирует файл «test.txt» по символам, начинающимся со второго столбца (k2 относится ко второму столбцу). Предполагая, что содержимое входного файла:

Поскольку второй столбец в этом примере содержит имена и фамилии, отсортированный вывод упорядочен по первой букве имени каждого человека во втором столбце — Элвиса, Джона, Джонни, Джастина, Леди, Майкла, Мика и Тейлора. , как показано ниже:

Если вы сортируете файл с -k3 (используя содержимое строки, начинающееся со столбца 3 — столбца с номером заголовка), вы получите:

а также

создает список, отсортированный по цене:

Сторнирование сортировки

Опция -r переворачивает сортировку. Например, используя результаты выше:

выходы:

Сохранение отсортированного файла

Сортировка файла не сохраняет его. Чтобы сохранить отсортированный список в файле, вы используете оператор перенаправления:

где «test_new.txt» — это новый файл.

Сортировка потока вывода

Вы также можете применить команду сортировки к выводу потока, например, к оператору канала:

Это сортирует вывод списка файлов, сгенерированного командой ls, по размеру файла, начиная с самых больших файлов. Оператор -n определяет числовую сортировку, а не алфавитную.

Ссылка на основную публикацию