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

sort -u: Сортировка с удалением дубликатов

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

Обзор

sort -u сортирует входные данные в порядке возрастания, одновременно удаляя все повторяющиеся строки, оставляя только одну. Это находит применение в различных ситуациях, таких как анализ лог-файлов, создание списков уникальных элементов и очистка данных.

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

  • Сортирует данные и автоматически удаляет повторяющиеся строки
  • Может быть интегрирована с выводом других команд через пайп (|)
  • Поддерживает различные критерии сортировки, такие как числа, определенные поля
  • Эффективность при обработке больших файлов

Основные опции

Представляем основные опции команды sort, которые часто используются с -u или дополняют ее работу.

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

Критерии сортировки

Вывод и прочее

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

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

Описание:

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

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

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

Изучите реальные сценарии использования команды sort -u с помощью различных примеров.

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

sort -u file.txt

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

Обработка ввода через пайп

cat file.txt | sort -u

Принимает вывод другой команды, сортирует его и удаляет дубликаты. Например, передает содержимое файла командой `cat`.

Сортировка и удаление дубликатов по числовому значению

sort -nu numbers.txt

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

Сортировка и удаление дубликатов по определенному полю

sort -t',' -uk2 data.csv

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

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

sort -u input.txt -o output.txt

Сохраняет отсортированные и очищенные от дубликатов результаты в файл output.txt.

Советы и примечания

Полезные советы и важные замечания при использовании команды sort -u.

Разница между sort -u и uniq

  • sort -u: Сортирует весь ввод, а затем удаляет дубликаты. Поэтому удаляет все дубликаты, независимо от их положения в файле.
  • uniq: Удаляет дубликаты только между смежными строками. Для использования `uniq` необходимо сначала отсортировать данные командой `sort`. `sort -u` — это удобный способ выполнить обе эти операции одновременно.

Учет регистра

  • Поведение по умолчанию: sort -u по умолчанию учитывает регистр, поэтому 'Apple' и 'apple' считаются разными строками.
  • Игнорирование регистра: Чтобы игнорировать регистр при удалении дубликатов, используйте опцию `-f` (fold-case). Например: `sort -uf file.txt`

Производительность при обработке больших файлов

  • Использование памяти: При обработке больших файлов sort может потреблять значительный объем системной памяти. Вы можете регулировать производительность, указывая размер буфера памяти с помощью опции `-S`. (Например, `-S 50%` использует 50% доступной памяти).
  • Временные файлы: При нехватке памяти sort создает временные файлы. Вы можете указать каталог для временных файлов с помощью опции `-T`. (Например, `-T /tmp`).

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