14. uniq (Unique)

Comanda uniq (unique) este o altă unealtă folositoare pentru manipularea și afișarea textului.

Să spunem că avem un fișier cu o mulțime de dubluri:

biblioteca.txt
carte
carte
ziar
ziar
articol
articol
revista

Și ați vrea să ștergeți toate dublurile. Ei bine, puteți folosi comanda uniq pentru această operație:

$ uniq biblioteca.txt
carte
ziar
articol
revista

Acum haideți să numărăm câte dubluri există pentru fiecare termen:

$ uniq -c biblioteca.txt
2 carte
2 ziar
2 articol
1 revista

Putem extrage chiar și numai valorile unice din acel fișier:

$ uniq -u biblioteca.txt
magazine

Vicerversa putem afișa numai cuvintele care au dubluri:

$ uniq -d biblioteca.txt
carte
ziar
articol

Atenție : uniq nu detectează liniile doar daca acestea sunt adiacente (una lângă alta). De ex.:

Să presupunem ca aveți un fișier cu dubluri care nu sunt adiacente:

biblioteca.txt 
carte
ziar
carte
ziar
articol
revista
articol
$ uniq biblioteca.txt
biblioteca.txt
carte
ziar
carte
ziar
articol
revista
articol

Rezultatul returnat de comanda uniq va conține toate intrările spre deosebire de primul exemplu.

Pentru a remedia această limitare a comenzii uniq putem folosi comanda sort în combinație cu uniq:

$ sort biblioteca.txt | uniq
articol
carte
revista
ziar

Exerciții

Ce rezultat obțineți dacă încercați comanda uniq -uc?


Lasă un răspuns

Adresa ta de email nu va fi publicată.

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.