Как пользователи Linux, мы взаимодействуем с различные типы файлов на регулярной основе. Одним из наиболее распространенных типов файлов в любой компьютерной системе является обычный текстовый файл. Часто очень часто требуется найти нужный текст в этих файлах.
Однако эта простая задача быстро надоедает, если файл содержит повторяющиеся записи. В таких случаях мы можем использовать уникальный Команда для эффективной фильтрации повторяющегося текста.
В Linux мы можем использовать уникальный Команда, которая пригодится, когда мы хотим вывести или удалить повторяющиеся строки, которые присутствуют рядом.
Помимо этого, мы также можем использовать команду uniq для подсчета повторяющихся записей. Важно отметить, что команда uniq работает только в том случае, если повторяющиеся записи находятся рядом.
В этом простом руководстве мы обсудим уникальный подробное описание команды с практическими примерами в Linux.
уникальный синтаксис команды
Синтаксис уникальный команда очень проста для понимания и похожа на другие команды Linux:
$ uniq [OPTIONS] [INPUT] [OUTPUT]
Важно отметить, что все опции и параметры уникальный команда необязательна.
Создание образца текстового файла
Для начала создадим простой текстовый файл с vi редактор и добавьте следующее повторяющееся содержимое, расположенное в соседних строках.
$ vi linux-distributions.txt $ cat linux-distributions.txt

Теперь давайте воспользуемся этим файлом, чтобы понять, как используется уникальный команда.
1. Удалить повторяющиеся строки из текстового файла
Одно из распространенных применений уникальный Команда состоит в том, чтобы удалить соседние повторяющиеся строки из текстового файла, как показано.
$ uniq linux-distributions.txt

В приведенном выше выводе мы видим, что уникальный Команда успешно устранила повторяющиеся строки.
2. Подсчитайте повторяющиеся строки в текстовом файле
В предыдущем примере мы видели, как удалить повторяющиеся строки. Однако иногда мы также хотим знать, сколько раз появляется повторяющаяся строка.
Мы можем добиться этого с помощью -c
вариант, как показано в следующем примере:
$ uniq -c linux-distributions.txt

В приведенном выше выводе первый столбец представляет количество повторений строки.
3. Удаляйте дубликаты с учетом регистра
По умолчанию уникальный команда работает с учетом регистра. Однако мы можем отключить это поведение по умолчанию с помощью -i
вариант как показано.
$ uniq -i linux-distributions.txt

В этом примере мы можем заметить, что теперь строка Убунту и УБУНТУ трактуется одинаково. Наряду с этим то же самое происходит и со строкой CentOS и СЕНТОС.
4. Печатать только повторяющиеся строки из файла
Иногда нам нужно просто напечатать повторяющиеся строки из текстового файла, в этом случае вы можете использовать -d
вариант как показано.
$ uniq -d linux-distributions.txt

В приведенном выше выводе мы видим, что уникальный Команда показывает повторяющуюся запись из каждой группы.
5. Распечатайте все повторяющиеся строки из файла
В предыдущем примере мы видели, как отобразить повторяющуюся строку из каждой группы. Аналогичным образом мы также можем показать все повторяющиеся строки, используя -D
вариант:
$ uniq -D linux-distributions.txt

Приведенный выше вывод не показывает текст УБУНТУ, СЕНТОСи Альпийский так как это уникальные строки.
6. Показать повторяющиеся строки по группам в новой строке
В предыдущем примере мы напечатали все повторяющиеся строки. Однако мы можем сделать тот же вывод более читабельным, разделив каждую группу новой строкой.
Давайте использовать --all-repeated=separate
вариант добиться того же:
$ uniq --all-repeated=separate linux-distributions.txt

В приведенном выше выводе мы видим, что каждая повторяющаяся группа отделена новым разделителем строк.
7. Печатайте только уникальные строки из файла
В предыдущих примерах мы видели, как печатать повторяющиеся строки. Точно так же мы можем также поручить уникальный команда для печати только неповторяющихся строк.
Теперь воспользуемся -u
возможность печатать только уникальные строки:
$ uniq -u linux-distributions.txt

Здесь мы можем видеть, что уникальный Команда отображает строки, которые не дублируются.
8. Удалить несмежные повторяющиеся строки в файле
Одно из тривиальных ограничений уникальный Команда заключается в том, что она удаляет только соседние повторяющиеся записи. Однако иногда мы хотим удалить повторяющиеся записи независимо от их порядка в данном файле.
В таких случаях, во-первых, мы можем отсортировать содержимое файла а затем передайте этот вывод команде uniq, как показано.
$ sort linux-distributions.txt | uniq

В этом примере мы использовали Сортировать и уникальный команды без каких-либо опций. Однако мы также можем комбинировать другие поддерживаемые параметры с этими командами.
Заключение
В этом руководстве мы узнали уникальный команду на практических примерах. Знаете ли вы какой-либо другой лучший пример уникальный команда в линуксе? Сообщите нам свое мнение в комментариях ниже.