logo

Comanda uniq în Linux cu exemple

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

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

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

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

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

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

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`

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`

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

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

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