logo

Команда uniq у Linux із прикладами

The унікальний команда в Linux — це утиліта командного рядка, яка повідомляє або фільтрує повторювані рядки у файлі. Простими словами, унікальний це інструмент, який допомагає виявити сусідні повторювані рядки, а також видаляє повторювані рядки. унікальний відфільтровує суміжні відповідні рядки з вхідного файлу (потрібний як аргумент) і записує відфільтровані дані у вихідний файл.

Зміст

Синтаксис команди uniq

Основний синтаксис ` uniq`> команда:



uniq [OPTIONS] [INPUT_FILE [OUTPUT_FILE]]>

тут,

  • `OPTIONS`> : Додаткові позначки, які змінюють поведінку ` uniq`> команда.
  • `INPUT_FILE`> : шлях до вхідного файлу, що містить текстові дані. Якщо не вказано, ` uniq`> читає зі стандартного введення (зазвичай клавіатури).
  • `OUTPUT_FILE`> : шлях до вихідного файлу, де будуть записані унікальні рядки. Якщо не вказано, ` uniq`> записує на стандартний вихід (зазвичай термінал).

Загальні параметри uniq> Команда

Ось кілька поширених параметрів, які можна використовувати з ` uniq`> команда:

Опції

опис

-с, – кол

Префікс рядків за кількістю входжень у вхідних даних, а потім пробіл.

-д, –повтор

приклад java карти

Виводити лише рядки, які повторюються у вхідних даних.

-i, –ігнорувати регістр

Ігнорувати відмінності у регістрі під час порівняння рядків.

-f, –skip-fields=N

Уникайте порівняння перших N полів у кожному рядку.

-s, –skip-chars=N

Уникайте порівняння перших N символів у кожному рядку.

-у, –унікальний

Виводити лише рядки, унікальні у вхідних даних.

Приклади використання ` uniq`> Команда

Тепер давайте зрозуміємо використання цього за допомогою прикладу. Припустімо, що у вас є текстовий файл під назвою kt.txt, який містить повторювані рядки, які потрібно пропустити. Це можна просто зробити за допомогою uniq.

//displaying contents of kt.txt//   $cat kt.txt   I love music. I love music. I love music. I love music of Kartik. I love music of Kartik. Thanks.>

Як видалити повторювані рядки за допомогою команди `uniq`

Щоб видалити повторювані рядки з ` kt.txt`> , ми можемо використовувати ` uniq`> команда:

uniq kt.txt>

видалити повторювані рядки

видалити повторювані рядки

показати користувачам mysql

Як ви бачите, ми просто використали ім’я вхідного файлу у наведеному вище прикладі uniq, і оскільки ми не використовували вихідний файл для зберігання створеного виводу, команда uniq відобразила відфільтрований вихід у стандартному виведенні з усіма дублікатами рядки видалені.

Примітка: унікальний не може виявити повторювані лінії, якщо вони не примикають одна до одної. Тому перед використанням uniq необхідно відсортувати вміст у файлі або просто використати сортувати -u замість команди uniq.

Як підрахувати повторювані рядки за допомогою команди `uniq` в Linux

` -c`> Параметр ставить перед кожним рядком кількість входжень у вхідних даних:

uniq -c kt.txt>
Підрахунок появи дублікатів рядків

Підрахунок появи дублікатів рядків

У цьому прикладі на початку кожного рядка відображається його номер, що повторюється

Як відображати повторювані рядки за допомогою команди `uniq` в Linux

` -d`> опція друкує лише повторювані рядки:

uniq -d kt.txt>
відображати лише повторювані рядки

відображати лише повторювані рядки

Як відобразити всі повторювані рядки за допомогою команди `uniq` в Linux

` -D`> параметр друкує всі повторювані рядки, а не лише по одному на групу:

uniq -D kt.txt>
друкує всі повторювані рядки

друкує всі повторювані рядки

Як відобразити унікальні рядки за допомогою команди `uniq` в Linux

` -u`> параметр друкує лише унікальні рядки:

uniq -u kt.txt>

друкує лише унікальні рядки

друкує лише унікальні рядки

Пропуск перших N полів ( -f> варіант) Використання команди `uniq` в Linux

` -f N`> пропускає перші N полів перед порівнянням рядків. Корисно для пронумерованих рядків:

uniq -f 2 f1.txt>

//відображення вмісту f1.txt//
1. Я люблю музику.
2. Я люблю музику.
3. Я люблю музику Картика.
4. Я люблю музику Картика.

Опція `-s N`

Опція `-s N`

У цьому прикладі використовується 2, тому що нам потрібно було порівняти рядки після нумерації 1, 2.. і після крапок

Пропуск перших N символів ( -s> варіант) Використання команди `uniq` в Linux

` -s N`> параметр пропускає перші N символів у кожному рядку:

анонімна функція java

//відображення вмісту f2.txt//
#%@Я люблю музику.
^&(Я люблю музику.
*-!@Дякую.
#%@!Дякую.

uniq -s 3 f2.txt>

У цьому прикладі однакові рядки після пропуску 3 символів фільтруються.

Опція `-s N`

Опція `-s N`

Обмеження порівняння до перших N символів ( -w> варіант) Використання команди `uniq` в Linux

Використання параметра -w: Подібно до способу пропуску символів, ми також можемо попросити uniq обмежити порівняння встановленою кількістю символів. Для цього використовується параметр командного рядка -w.

//відображення вмісту f3.txt//
Як це можливо?
Як це можна зробити?
Як ним користуватися?

uniq -w 3 f3.txt>

Оскільки перші 3 символи всіх 3 рядків однакові, тому uniq розглядав їх як дублікати та виводив відповідний результат.

Використання параметра -w

Використання параметра -w

Порівняння без урахування регістру ( -i> варіант) Використання команди `uniq` в Linux

` -i`> параметр робить порівняння нечутливим до регістру:

первинний ключ складений ключ

//відображення вмісту f4.txt//
Я ЛЮБЛЮ МУЗИКУ
я люблю музику
ДЯКУЮ

uniq f4.txt>

Тут рядки не розглядаються як дублікати з простим використанням uniq

//зараз використовується параметр -i//

uniq -i f4.txt>

Тепер другий рядок видаляється, коли використовується параметр -i.

порівняння без урахування регістру

порівняння без урахування регістру

NULL завершений вихід ( -z> варіант) Використання команди `uniq` в Linux

Використання параметра -z: За замовчуванням вихідні дані uniq завершуються символом нового рядка. Однак, якщо ви бажаєте, ви бажаєте натомість мати вихід із закінченням NULL (корисно під час роботи з uniq у сценаріях). Це можна зробити за допомогою параметра командного рядка -z.

Синтаксис:

uniq -z file-name>

Висновок

У цій статті ми обговорилиuniq>Команда в Linux є універсальним інструментом для обробки дублікатів рядків у текстових файлах. Розуміючи його різні параметри, ви можете ефективно керувати текстовими даними та обробляти їх. Експериментуйте з різними варіантами та прикладами, щоб освоїти використанняuniq>команда.

?list=PLqM7alHXFySFc4KtwEZTANgmyJm3NqS_L