Команда sort: упорядочить строки и сохранить исходник
Разберите строковую сортировку, обратный порядок и удаление повторов. На учебном журнале сравните порядок текста с числовой сортировкой и влиянием локали.
Назначение команды
sort читает записи и выводит их в выбранном порядке. Исходный файл при обычном чтении не изменяется. Это удобно перед сравнением наборов или подсчётом повторов, но сортировка уничтожает исходную последовательность событий в полученной копии: для хронологии это может быть существенной потерей смысла.
Синтаксис и учебный пример
Форма sort [ОПЦИИ] [ФАЙЛ...] принимает файлы или стандартный ввод. В учебном примере записи журнала группируются по полному тексту. Числа внутри station и сообщения не становятся ключом автоматически. Для воспроизводимой реальной сортировки задают нужную локаль и явно выбирают ключи.
sort logs/sensor.log > sorted.txt
head -n 1 sorted.txtПроверка: Первая строка: ERROR station=cedar timeout.
Опции и варианты записи
Таблица разделяет основные формы записи. Ниже отдельно перечислены пределы виртуальной команды.
| Запись | Смысл |
|---|---|
| -r | Обратный порядок сравнения. |
| -u | Оставить один представитель равных ключей; при сортировке всей строки это удаляет одинаковые строки. |
| -n | Числовое сравнение в GNU sort; в данном симуляторе отсутствует. |
| -k | Выбор ключа реальной сортировки; границы поля нужно задавать явно. |
Вывод, ошибки и статус
Результат идёт в stdout, диагностика — в stderr. В обычном режиме код 0 означает успешную обработку. У проверочного режима -c есть отдельный смысл статуса: его нельзя механически переносить на обычную сортировку. GNU sort завершает последнюю запись переводом строки, если вход его не содержал.
Как избежать неверного результата
Не используйте sort input > input: shell сначала очистит назначение, и sort получит уже изменённый источник. Записывайте в отдельный файл и проверяйте результат. Строки 10 и 2 при текстовом сравнении идут в другом порядке, чем при числовом; выбор режима зависит от значения данных.
Реальная система и учебная модель
Симулятор сравнивает UTF-8 байты целых строк, аналогично выбранному порядку C, и поддерживает только -r, -u, -- и один stdin через -. Локаль не переключается; -n, -k, -t, -o и внешняя сортировка отсутствуют. На большой реальной выборке учитывайте временное место и доступную память.
Технические источники
Использованы для проверки поведения. Объяснения и учебные сценарии созданы для проекта.
- GNU Coreutils — sort
Проверка текста: 2026-09-11. Нативное исполнение на всей матрице дистрибутивов ещё не подтверждено.
Основные понятия общие для Linux. Состав утилит, версии и системные настройки зависят от окружения.
От материала к практике
Выберите следующую тему в каталоге Linux или проверьте знакомые команды в учебном терминале.