GNU/Linux >> Linux Esercitazione >  >> Linux

7 Esempi di comandi Linux Uniq per rimuovere le righe duplicate dal file

Il comando Uniq è utile per rimuovere o rilevare voci duplicate in un file. Questo tutorial spiega alcune delle opzioni della riga di comando uniq usate più di frequente che potresti trovare utili.

Il seguente file di test viene utilizzato in alcuni esempi per comprendere come funziona il comando uniq.

$ cat test
aa
aa
bb
bb
bb
xx

1. Utilizzo di base

Sintassi:

$ uniq [-options]

Ad esempio, quando il comando uniq viene eseguito senza alcuna opzione, rimuove le righe duplicate e visualizza le righe univoche come mostrato di seguito.

$ uniq test
aa
bb
xx

2. Conta il numero di occorrenze usando l'opzione -c

Questa opzione serve per contare le occorrenze di righe nel file.

$ uniq -c test
      2 aa
      3 bb
      1 xx

3. Stampa solo righe duplicate usando l'opzione -d

Questa opzione consente di stampare solo righe ripetute duplicate nel file. Come puoi vedere di seguito, questo non mostrava la riga "xx", poiché non è duplicata nel file di test.

$ uniq -d test
aa
bb

L'esempio precedente mostrava tutte le righe duplicate, ma solo una volta. Ma questa opzione -D stamperà tutte le righe duplicate nel file. Ad esempio, la riga "aa" era presente due volte nel file di test, quindi il seguente comando uniq ha visualizzato la riga "aa" due volte in questo output.

$ uniq -D test
aa
aa
bb
bb
bb

4. Stampa solo linee univoche usando l'opzione -u

Questa opzione consente di stampare solo righe univoche nel file.

$ uniq -u test
xx

Se ti piace eliminare le righe duplicate da un file usando un determinato modello, puoi usare il comando sed delete.

5. Limita il confronto a 'N' caratteri usando l'opzione -w

Questa opzione limita il confronto solo ai primi caratteri "N" specificati. Per questo esempio, usa il seguente file di input test2.

$ cat test2
hi Linux
hi LinuxU
hi LinuxUnix
hi Unix

Il seguente comando uniq usando l'opzione 'w' confronta i primi 8 caratteri di righe nel file, quindi usando l'opzione 'c' stampa il numero di occorrenze di righe di file.

$ uniq -c -w 8 testNew
  3 hi Linux
  1 hi Unix

Il seguente comando uniq usando l'opzione 'w' confronta i primi 8 caratteri di righe nel file, quindi usando l'opzione 'D' stampa tutte le righe duplicate del file.

$ uniq -D -w 8 testNew
hi Linux
hi LinuxU
hi LinuxUnix

6. Evita di confrontare i primi "N" caratteri usando l'opzione -s

Questa opzione salta il confronto dei primi caratteri "N" specificati. Per questo esempio, usa il seguente file di input test3.

$ cat test3
aabb
xxbb
bbc
bbd

Il seguente comando uniq usando l'opzione 's' salta il confronto dei primi 2 caratteri delle righe nel file, quindi usando l'opzione 'D' stampa tutte le righe duplicate del file.

Qui, i 2 caratteri iniziali, ad esempio "aa" nella prima riga e "xx" nella seconda riga, non vengono confrontati e quindi i 2 caratteri successivi "bb" in entrambe le righe sono gli stessi, quindi vengono mostrati come righe duplicate.

$ uniq -D -s 2 test3
aabb
xxbb

7. Evita di confrontare i primi campi "N" usando l'opzione -f

Questa opzione salta il confronto dei primi campi "N" di righe specificati nel file.

$ cat test2
hi hello Linux
hi friend Linux
hi hello LinuxUnix

Il seguente comando uniq usando l'opzione 'f' salta il confronto dei primi 2 campi di righe nel file, quindi usando l'opzione 'D' stampa tutte le righe duplicate del file.

Qui, i 2 campi iniziali, ovvero "ciao ciao" nella prima riga e "ciao amico" nella seconda riga non vengono confrontati e quindi il campo successivo "Linux" in entrambe le righe è lo stesso, quindi viene mostrato come righe duplicate.

$ uniq -D -f 2 test2
hi hello Linux
hi friend Linux

Linux
  1. Comando mv in Linux:7 esempi essenziali

  2. Esempi di comandi tail di Linux

  3. ln Esempi di comandi in Linux

  4. altri esempi di comandi in Linux

  5. head Esempi di comandi in Linux

Comando Linux WC con esempi

Esempi di comandi di Linux cat

Esempi di comandi gzip di Linux

Esempi di comandi dumpe2fs in Linux

Esempi di comandi fsck in Linux

Esempi di comandi mkfs in Linux