The unic comanda în Linux este un utilitar de linie de comandă care raportează sau filtrează liniile repetate dintr-un fișier. Cu cuvinte simple, unic este instrumentul care ajută la detectarea liniilor duplicate adiacente și, de asemenea, șterge liniile duplicate. unic filtrează liniile adiacente care se potrivesc din fișierul de intrare (care este necesar ca argument) și scrie datele filtrate în fișierul de ieșire.
Cuprins
- Sintaxa comenzii uniq
- Opțiuni comune ale comenzii uniq
- Exemple de utilizare a comenzii `uniq`
- Cum să eliminați liniile duplicate folosind comanda `uniq`
- Cum să numărați liniile duplicate folosind comanda `uniq` în Linux
- Cum să afișați linii repetate folosind comanda `uniq` în Linux
- Cum să afișați toate liniile duplicate folosind comanda `uniq` în Linux
- Cum să afișați linii unice folosind comanda `uniq` în Linux
- Omiterea primului N caractere (opțiunea -s) Folosind comanda `uniq` în Linux
- Limitarea comparației la primele N caractere (opțiunea -w) Folosind comanda `uniq` în Linux
- Comparație fără majuscule (opțiunea -i) Folosind comanda `uniq` în Linux
- Ieșire terminată NULL (opțiunea -z) Folosind comanda `uniq` în Linux
Sintaxa comenzii uniq
Sintaxa de bază a ` uniq`> comanda este:
arhitectura stupului
uniq [OPTIONS] [INPUT_FILE [OUTPUT_FILE]]>
Aici,
-
`OPTIONS`>: steaguri opționale care modifică comportamentul `uniq`>comanda. -
`INPUT_FILE`>: Calea către fișierul de intrare care conține datele text. Dacă nu este specificat, `uniq`>citește de la intrarea standard (de obicei, tastatura). -
`OUTPUT_FILE`>: Calea către fișierul de ieșire unde vor fi scrise liniile unice. Dacă nu este specificat, `uniq`>scrie la ieșirea standard (de obicei terminalul).
Opțiuni comune ale uniq> Comanda
Iată câteva opțiuni comune care pot fi utilizate cu ` uniq`> comanda:
| Opțiuni | Descriere |
|---|---|
| -c, –conta | Prefix linii după numărul de apariții din intrare, urmate de un spațiu. |
| -d, –repetă | Doar liniile de ieșire care se repetă în intrare. |
| -i, –ignora-majuscule | Ignorați diferențele de caz când comparați liniile. |
| -f, –skip-fields=N | Evitați compararea primelor N câmpuri din fiecare linie. |
| -s, –skip-cars=N | Evitați compararea primelor N caractere din fiecare rând. |
| -u, –unic | Doar liniile de ieșire care sunt unice în intrare. |
Exemple de utilizare a ` uniq`> Comanda
Acum, să înțelegem utilizarea acestuia cu ajutorul unui exemplu. Să presupunem că aveți un fișier text numit kt.txt care conține linii repetate care trebuie omise. Acest lucru se poate face pur și simplu cu 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.>
Cum să eliminați liniile duplicate folosind comanda `uniq`
Pentru a elimina liniile duplicate din ` kt.txt`> , putem folosi ` uniq`> comanda:
uniq kt.txt>

eliminați liniile duplicate
După cum puteți vedea că tocmai am folosit numele fișierului de intrare în exemplul uniq de mai sus și deoarece nu am folosit niciun fișier de ieșire pentru a stoca ieșirea produsă, comanda uniq a afișat ieșirea filtrată pe ieșirea standard cu toate duplicatele liniile eliminate.
Notă: unic nu este capabil să detecteze liniile duplicate decât dacă sunt adiacente una cu cealaltă. Prin urmare, conținutul fișierului trebuie sortat înainte de a utiliza uniq sau pur și simplu îl puteți utiliza sort -u în loc de comanda uniq.
Cum să numărați liniile duplicate folosind comanda `uniq` în Linux
` -c`> opțiunea prefixează fiecare linie cu numărul de apariții din intrare:
uniq -c kt.txt>

Numărarea apariției liniilor duplicate
În acest exemplu, la începutul fiecărei linii este afișat numărul său repetat
Cum să afișați linii repetate folosind comanda `uniq` în Linux
` -d`> opțiunea imprimă numai linii duplicate:
uniq -d kt.txt>

afișează numai linii duplicate
Cum să afișați toate liniile duplicate folosind comanda `uniq` în Linux
` -D`> opțiunea imprimă toate liniile duplicate, nu doar una per grup:
uniq -D kt.txt>

imprimă toate liniile duplicate
Cum să afișați linii unice folosind comanda `uniq` în Linux
` -u`> opțiunea imprimă numai linii unice:
uniq -u kt.txt>

imprimă numai linii unice
if else declarație în java
Se omite primele N câmpuri ( -f> opțiune) Folosind comanda `uniq` în Linux
` -f N`> opțiunea omite primele N câmpuri înainte de a compara linii. Util pentru linii numerotate:
uniq -f 2 f1.txt>
//afișează conținutul f1.txt//
1. Iubesc muzica.
2. Iubesc muzica.
3. Îmi place muzica lui Kartik.
4. Îmi place muzica lui Kartik.

Opțiunea `-s N`
În acest exemplu, se folosește 2 pentru că trebuia să comparăm liniile după numerotarea 1,2.. și după puncte
Se omite primele N caractere ( -s> opțiune) Folosind comanda `uniq` în Linux
` -s N`> opțiunea omite primele N caractere din fiecare rând:
//afișează conținutul f2.txt//
#%@Iubesc muzica.
^&(Îmi place muzica.
*-!@Mulțumiri.
#%@!Mulțumiri.
uniq -s 3 f2.txt>
În acest exemplu, liniile aceleași după omiterea a 3 caractere sunt filtrate.

Opțiunea `-s N`
Limitarea comparației la primele N caractere ( -w> opțiune) Folosind comanda `uniq` în Linux
Folosind opțiunea -w: Similar modului de a omite caractere, putem, de asemenea, să cerem uniq să limiteze comparația la un număr stabilit de caractere. Pentru aceasta, este folosită opțiunea de linie de comandă -w.
//afișează conținutul f3.txt//
Cum este posibil?
Cum se poate face?
Cum să-l folosească?
uniq -w 3 f3.txt>
Deoarece primele 3 caractere din toate cele 3 linii sunt aceleași, de aceea uniq le-a tratat pe toate ca duplicate și a dat rezultate în consecință.

Folosind opțiunea -w
Comparație fără majuscule ( -i> opțiune) Folosind comanda `uniq` în Linux
` -i`> opțiunea face ca comparația să nu țină seama de majuscule și minuscule:
//afișează conținutul f4.txt//
IUBESC MUZICA
iubesc muzica
MULȚUMIRI
uniq f4.txt>
Aici liniile nu sunt tratate ca duplicate cu utilizarea simplă a uniq
//acum folosind opțiunea -i//
uniq -i f4.txt>
Acum a doua linie este eliminată când este utilizată opțiunea -i.

comparație insensibilă la majuscule
Ieșire terminată NULL ( -z> opțiune) Folosind comanda `uniq` în Linux
Folosind opțiunea -z: În mod implicit, ieșirea produsă de uniq este terminată cu noua linie. Cu toate acestea, dacă doriți, doriți să aveți în schimb o ieșire terminată cu NULL (utilă atunci când aveți de-a face cu uniq în scripturi). Acest lucru poate fi posibil folosind opțiunea de linie de comandă -z.
Sintaxă:
uniq -z file-name>
Concluzie
În acest articol am discutat despreuniq>comanda în Linux este un instrument versatil pentru gestionarea liniilor duplicate în fișierele text. Înțelegând diferitele sale opțiuni, puteți gestiona și procesa eficient datele text. Experimentați cu diferite opțiuni și exemple pentru a stăpâni utilizareauniq>comanda.
comanda cp în linux
?list=PLqM7alHXFySFc4KtwEZTANgmyJm3NqS_L