Ce face uniq
Comanda uniq parcurge textul și filtrează rândurile identice adiacente (aflate una după alta).
Pentru a deduplica un întreg fișier, este aproape întotdeauna necesar să sortezi fișierul mai întâi cu sort, direcționând ieșirea către uniq prin sort | uniq.
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
-c, --count |
Prefixează fiecare linie cu numărul de apariții consecutive. |
-d, --repeated |
Afișează doar liniile care sunt duplicate. |
-u, --unique |
Afișează doar liniile care apar o singură dată (fără nicio dublură). |
-i, --ignore-case |
Ignoră diferențele dintre majuscule și minuscule la comparare. |
Exemple
Exemplul 1: Numărarea frecvenței de apariție
Sortăm datele și contorizăm aparițiile fiecărui element cu sort | uniq -c.
cat << 'EOF' > vizite.txt
Bucuresti
Iasi
Bucuresti
Cluj
Bucuresti
Iasi
EOF
sort vizite.txt | uniq -c | awk '{print $2, "aparitii:", $1}'
Rezultat
Bucuresti aparitii: 3
Cluj aparitii: 1
Iasi aparitii: 2
Greșeli frecvente
- Apelarea lui
uniqpe un fișier nesortat, presupunând că elimină dublurile aflate la distanță una de alta.