The унікальний команда в Linux — це утиліта командного рядка, яка повідомляє або фільтрує повторювані рядки у файлі. Простими словами, унікальний це інструмент, який допомагає виявити сусідні повторювані рядки, а також видаляє повторювані рядки. унікальний відфільтровує суміжні відповідні рядки з вхідного файлу (потрібний як аргумент) і записує відфільтровані дані у вихідний файл.
Зміст
- Синтаксис команди uniq
- Загальні параметри команди uniq
- Приклади використання команди `uniq`
- Як видалити повторювані рядки за допомогою команди `uniq`
- Як підрахувати повторювані рядки за допомогою команди `uniq` в Linux
- Як відображати повторювані рядки за допомогою команди `uniq` в Linux
- Як відобразити всі повторювані рядки за допомогою команди `uniq` в Linux
- Як відобразити унікальні рядки за допомогою команди `uniq` в Linux
- Пропуск перших N символів (параметр -s) за допомогою команди `uniq` в Linux
- Обмеження порівняння до перших N символів (параметр -w) за допомогою команди `uniq` в Linux
- Порівняння без урахування регістру (параметр -i) за допомогою команди `uniq` у Linux
- NULL завершується виведенням (параметр -z) за допомогою команди `uniq` в 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`
У цьому прикладі використовується 2, тому що нам потрібно було порівняти рядки після нумерації 1, 2.. і після крапок
Пропуск перших N символів ( -s> варіант) Використання команди `uniq` в Linux
` -s N`> параметр пропускає перші N символів у кожному рядку:
анонімна функція java
//відображення вмісту f2.txt//
#%@Я люблю музику.
^&(Я люблю музику.
*-!@Дякую.
#%@!Дякую.
uniq -s 3 f2.txt>
У цьому прикладі однакові рядки після пропуску 3 символів фільтруються.

Опція `-s N`
Обмеження порівняння до перших N символів ( -w> варіант) Використання команди `uniq` в Linux
Використання параметра -w: Подібно до способу пропуску символів, ми також можемо попросити uniq обмежити порівняння встановленою кількістю символів. Для цього використовується параметр командного рядка -w.
//відображення вмісту f3.txt//
Як це можливо?
Як це можна зробити?
Як ним користуватися?
uniq -w 3 f3.txt>
Оскільки перші 3 символи всіх 3 рядків однакові, тому uniq розглядав їх як дублікати та виводив відповідний результат.

Використання параметра -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