Главная > Обработка текста и поиск > sort

Руководство по команде sort: Сортировка текстовых файлов

Команда `sort` используется для сортировки строк текстовых файлов или данных, полученных из стандартного ввода. Данные могут быть отсортированы по различным критериям, таким как алфавитный порядок, числовой порядок, обратный порядок и т.д., что делает её очень полезной для анализа лог-файлов, подготовки данных, создания отчетов и т.д. Изучите основные способы использования команды `sort` и различные параметры сортировки с помощью этого руководства.

Обзор sort

Команда `sort` по умолчанию сравнивает каждую строку целиком и сортирует их в порядке ASCII (в алфавитном порядке), а затем отправляет результат на стандартный вывод. Исходный файл не изменяется, и для сохранения изменений в файл необходимо использовать перенаправление (`>`).

Основные функции sort

Команда `sort` в основном используется для следующих целей:

Основные области применения

  • Сортировка данных: Сортирует лог-файлы, списки данных, списки пользователей и т.д. по определенным критериям для повышения читаемости.
  • Удаление дубликатов: На основе отсортированных данных можно легко удалить дублирующиеся строки. (Используется с `uniq`)
  • Создание отчетов: Сортирует данные по определенному полю, чтобы сделать их более удобными для анализа.
  • Сравнение файлов: Может использоваться для нормализации содержимого двух файлов перед сравнением.

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

Команда `sort` по умолчанию начинает сравнение с первого символа каждой строки, основываясь на значениях кодов символов (значениях ASCII). Даже для чисел они обрабатываются как строки, поэтому могут возникнуть неожиданные результаты, например, '10' будет раньше '2'. Чтобы этого избежать, необходимо использовать параметры сортировки по числам.

Основные параметры команды sort

Команда `sort` предлагает различные параметры, которые позволяют точно контролировать критерии сортировки, порядок и обработку дубликатов.

1. Критерии и порядок сортировки

2. Параметры обработки дубликатов и пробелов

3. Параметры вывода и разделителей

Сгенерированная команда:

Комбинируйте команды.

Описание:

`sort` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

Изучите различные примеры использования команды `sort`, чтобы эффективно сортировать и анализировать текстовые данные.

Базовая сортировка содержимого файла

echo -e "Charlie\nAlice\nBob" > names.txt
sort names.txt

Сортирует строки файла `names.txt` в алфавитном порядке (по возрастанию) и выводит результат.

Обратная сортировка содержимого файла

echo -e "10\n2\n100" > numbers.txt
sort -r numbers.txt

Сортирует числа в файле `numbers.txt`, рассматривая их как строки, в обратном порядке.

Сортировка по числовым значениям

echo -e "20 Bob\n10 Alice\n100 Charlie" > scores.txt
sort -n scores.txt

Сортирует оценки в файле `scores.txt` (первое поле) в порядке возрастания по реальным числовым значениям.

Сортировка по второму столбцу (имя) в CSV файле

echo -e "1,Bob,Seoul\n3,Alice,Busan\n2,Charlie,Jeju" > users.csv
sort -t',' -k 2 users.csv

Сортирует по второму полю (имя) в файле `users.csv`, разделенном запятыми (`,`).

Удаление дубликатов после сортировки

echo -e "apple\nbanana\napple\ncherry" > duplicates.txt
sort -u duplicates.txt

Сортирует содержимое файла `duplicates.txt`, затем оставляет только одну дублирующуюся строку и удаляет остальные.

Сохранение результатов сортировки в новый файл

echo -e "Zebra\nCat\nDog" > unsorted.txt
sort unsorted.txt -o sorted.txt

Сортирует содержимое файла `unsorted.txt`, затем сохраняет результат в файл `sorted.txt`. Исходный файл не изменяется.

Сортировка с учетом читаемого размера

echo -e "10K file1\n2M file2\n500K file3\n1G file4" > sizes.txt
sort -h sizes.txt

Сортирует список размеров файлов с учетом читаемых единиц (K, M, G). Полезно для сортировки результатов команды `du -h`.


Те же команды в категории