Утилита sort в Linux используется для сортировки содержимого файлов. Рассмотрим основные возможности и параметры команды.
Создание и сортировка текстового файла
Создадим текстовый файл animals.txt с помощью редактора nano:
nano animals.txt
Добавим в него следующие строки:
cat dog elephant monkey bear
Сохраним файл (Ctrl+X, Y, Enter).
Отсортируем содержимое файла командой:
sort animals.txt
Результат: строки будут отсортированы в алфавитном порядке: bear, cat, dog, elephant, monkey.
Для обратной сортировки используем параметр -r:
sort -r animals.txt
Результат: строки будут отсортированы в обратном алфавитном порядке.
Сохранение результатов в файл
Для сохранения отсортированных данных в новый файл используем параметр -o:
sort -o sorted.txt animals.txt
Это создаст файл sorted.txt с отсортированными данными, animals.txt останется неизменным.
Сортировка чисел
Создадим файл numbers.txt с помощью nano и добавим в него следующие числа:
1000 24 5 10 24
Попробуем отсортировать его:
sort numbers.txt
Результат: числа будут отсортированы лексикографически, а не как числа. Для числовой сортировки используем параметр -n:
sort -n numbers.txt
Результат: числа будут отсортированы в числовом порядке.
Сохранение результата в файл:
sort -n -o sorted_numbers.txt numbers.txt
Перенаправление вывода
Альтернативный способ сохранения результата — перенаправление стандартного вывода с помощью оператора >:
sort -n numbers.txt > sorted.txt
Уникальные значения
Параметр -u (или —unique) оставляет только уникальные значения:
sort -n -u numbers.txt
Результат: дубликаты чисел будут удалены.
Объединение параметров
Параметры можно комбинировать. Например, для обратной сортировки уникальных чисел:
sort -n -r -u numbers.txt
Утилита sort предоставляет мощные средства для сортировки содержимого файлов, позволяя управлять порядком сортировки (по возрастанию или убыванию), типом данных (строки или числа), а также сохранять результат в отдельный файл или использовать перенаправление вывода.