Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

уник

По сравнению sort, уник программа легковесная. уник выполняет, казалось бы, тривиальную задачу. При получении отсортированного файла (или стандартного ввода) он удаляет все повторяющиеся строки и отправляет результаты на стандартный вывод. Часто используется вместе с sort очистить вывод от дубликатов.


изображение

Наконечник: В то время как уник это традиционный инструмент Unix, часто используемый с sort, версия GNU sort поддерживает -u опция, которая удаляет дубликаты из отсортированного вывода.


изображение

Давайте создадим текстовый файл, чтобы попробовать это:



[я @ linuxbox ~] $ кошка> foo.txt a

bcabc

[я @ linuxbox ~] $ кошка> foo.txt a

bcabc


Не забудьте ввести Ctrl-d для завершения стандартного ввода. Теперь, если мы бежим уник в нашем текстовом файле:



[я @ linuxbox ~] $ уникальный foo.txt

abcabc

[я @ linuxbox ~] $ уникальный foo.txt

abcabc


результаты не отличаются от нашего исходного файла; дубликаты не удалялись. Для

uniq, чтобы выполнить свою работу, сначала необходимо отсортировать входные данные:


[я @ linuxbox ~] $ сортировать foo.txt | уникальный

азбука

[я @ linuxbox ~] $ сортировать foo.txt | уникальный

азбука


Это потому что уник удаляет только повторяющиеся строки, которые соседствуют друг с другом.

uniq имеет несколько вариантов. Вот самые распространенные:


Таблица 20-2: Общие параметры uniq


Вариант Описание

Вариант Описание

-c Вывести список повторяющихся строк с указанием количества повторений этой строки.


изображение

-d Выводить только повторяющиеся строки, а не уникальные строки.


изображение

-f n Игнор n ведущие поля в каждой строке. Поля разделяются пробелами, как в sort; однако, в отличие от sort, уник не имеет возможности установить альтернативный разделитель полей.


изображение

-i Игнорировать регистр при сравнении строк.


изображение

-s n Пропустить (игнорировать) ведущий n символы каждой строки.


изображение

-u Выводить только уникальные строки. Строки с дубликатами игнорируются.


изображение


Здесь мы видим уник используется для сообщения количества дубликатов, найденных в нашем текстовом файле, с помощью -c опции:


[я @ linuxbox ~] $ сортировать foo.txt | uniq -c

2 в

2 б

2 с

[я @ linuxbox ~] $ сортировать foo.txt | uniq -c

2 в

2 б

2 с


Лучшие облачные вычисления для ОС в OnWorks: