Содержание
Данные в текстовом файле Linux могут быть отсортированы с помощью команды сортировки, если каждый элемент каким-либо образом разделен. Часто запятая используется в качестве разделителя для разграниченной информации.
Основные правила сортировки
Команда sort переставляет строки в текстовом файле, чтобы отсортировать их по номерам и алфавиту. Правила по умолчанию для команды сортировки:
- Текст, начинающийся с цифры, появляется перед текстом, начинающимся с буквы; младшие числа сортируют первыми.
- Текст, который начинается с буквы, которая появляется в алфавите раньше, чем первая буква других текстовых записей, сортируется перед текстом, который начинается с буквы, которая появляется позже в алфавите.
- Там, где текст начинается с прописных и строчных букв одной и той же буквы, строчный экземпляр сортируется первым.
Сортировка текстового файла
Чтобы отсортировать строки в файле Linux с разделителями, вы используете команду sort следующим образом:
который сортирует файл «test.txt» по символам, начинающимся со второго столбца (k2 относится ко второму столбцу). Предполагая, что содержимое входного файла:
Поскольку второй столбец в этом примере содержит имена и фамилии, отсортированный вывод упорядочен по первой букве имени каждого человека во втором столбце — Элвиса, Джона, Джонни, Джастина, Леди, Майкла, Мика и Тейлора. , как показано ниже:
Если вы сортируете файл с -k3 (используя содержимое строки, начинающееся со столбца 3 — столбца с номером заголовка), вы получите:
а также
создает список, отсортированный по цене:
Сторнирование сортировки
Опция -r переворачивает сортировку. Например, используя результаты выше:
выходы:
Сохранение отсортированного файла
Сортировка файла не сохраняет его. Чтобы сохранить отсортированный список в файле, вы используете оператор перенаправления:
где «test_new.txt» — это новый файл.
Сортировка потока вывода
Вы также можете применить команду сортировки к выводу потока, например, к оператору канала:
Это сортирует вывод списка файлов, сгенерированного командой ls, по размеру файла, начиная с самых больших файлов. Оператор -n определяет числовую сортировку, а не алфавитную.