logo

Comando uniq in Linux con esempi

IL unico Il comando in Linux è un'utilità della riga di comando che segnala o filtra le righe ripetute in un file. In parole semplici, unico è lo strumento che aiuta a rilevare le linee duplicate adiacenti ed elimina anche le linee duplicate. unico filtra le righe corrispondenti adiacenti dal file di input (richiesto come argomento) e scrive i dati filtrati nel file di output.

Tabella dei contenuti



Sintassi del comando uniq

La sintassi di base del file ` uniq`> il comando è:

uniq [OPTIONS] [INPUT_FILE [OUTPUT_FILE]]>

Qui,

  • `OPTIONS`> : flag facoltativi che modificano il comportamento di ` uniq`> comando.
  • `INPUT_FILE`> : il percorso del file di input contenente i dati di testo. Se non specificato, ` uniq`> legge dall'input standard (solitamente la tastiera).
  • `OUTPUT_FILE`> : il percorso del file di output in cui verranno scritte le righe univoche. Se non specificato, ` uniq`> scrive sullo standard output (di solito il terminale).

Opzioni comuni del uniq> Comando

Ecco alcune opzioni comuni che possono essere utilizzate con l'estensione ` uniq`> comando:



Opzioni

parametro Verilog

Descrizione

-c, –conta



Prefisso le righe con il numero di occorrenze nell'input, seguito da uno spazio.

-d, –ripetuto

Solo le righe di output ripetute nell'input.

-i, –ignora-maiuscole/minuscole

Ignora le differenze tra maiuscole e minuscole quando confronti le linee.

-f, –skip-fields=N

Evitare di confrontare i primi N campi di ogni riga.

-s, –skip-chars=N

Evita di confrontare i primi N caratteri di ogni riga.

-u, –unico

Solo le righe di output univoche nell'input.

Esempi di utilizzo del comando ` uniq`> Comando

Ora capiamone l’uso con l’aiuto di un esempio. Supponiamo di avere un file di testo denominato kt.txt che contiene righe ripetute che devono essere omesse. Questo può essere fatto semplicemente con 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.>

Come rimuovere le righe duplicate utilizzando il comando 'uniq'.

Per rimuovere le righe duplicate da ` kt.txt`> , possiamo usare il ` uniq`> comando:

uniq kt.txt>

rimuovere le righe duplicate

rimuovere le righe duplicate

converti int in stringa in Java

Come puoi vedere, abbiamo utilizzato semplicemente il nome del file di input nell'esempio uniq precedente e poiché non abbiamo utilizzato alcun file di output per archiviare l'output prodotto, il comando uniq ha visualizzato l'output filtrato sullo standard output con tutti i duplicati linee rimosse.

Nota: unico non è in grado di rilevare le linee duplicate a meno che non siano adiacenti l'una all'altra. Il contenuto del file deve quindi essere ordinato prima di utilizzare uniq oppure è possibile utilizzare semplicemente sort -u invece del comando uniq.

Come contare le righe duplicate utilizzando il comando 'uniq' in Linux

Il ` -c`> L'opzione prefissa ogni riga con il numero di occorrenze nell'input:

uniq -c kt.txt>
Conteggio della presenza di righe duplicate

Conteggio della presenza di righe duplicate

In questo esempio all'inizio di ogni riga viene visualizzato il suo numero ripetuto

Come visualizzare righe ripetute utilizzando il comando 'uniq' in Linux

Il ` -d`> l'opzione stampa solo righe duplicate:

uniq -d kt.txt>
visualizzare solo le righe duplicate

visualizzare solo le righe duplicate

Come visualizzare tutte le righe duplicate utilizzando il comando 'uniq' in Linux

Il ` -D`> l'opzione stampa tutte le righe duplicate, non solo una per gruppo:

uniq -D kt.txt>
stampa tutte le righe duplicate

stampa tutte le righe duplicate

Come visualizzare linee univoche utilizzando il comando 'uniq' in Linux

Il ` -u`> l'opzione stampa solo linee univoche:

uniq -u kt.txt>

stampa solo linee univoche

stampa solo linee univoche

Saltare i primi N campi ( -f> opzione) Utilizzo del comando 'uniq' in Linux

Il ` -f N`> l'opzione salta i primi N campi prima di confrontare le righe. Utile per le righe numerate:

uniq -f 2 f1.txt>

//visualizza il contenuto di f1.txt//
1. Amo la musica.
2. Amo la musica.
3. Adoro la musica di Kartik.
4. Adoro la musica di Kartik.

Opzione '-s N'.

Opzione '-s N'.

In questo esempio viene utilizzato 2 perché dovevamo confrontare le linee dopo la numerazione 1,2... e dopo i punti

Saltare i primi N caratteri ( -s> opzione) Utilizzo del comando 'uniq' in Linux

Il ` -s N`> l'opzione salta i primi N caratteri in ogni riga:

//visualizzazione del contenuto di f2.txt//
#%@Amo la musica.
^&(Adoro la musica.
*-!@Grazie.
#%@!Grazie.

uniq -s 3 f2.txt>

In questo esempio vengono filtrate le stesse righe dopo aver saltato 3 caratteri.

ops in Java
Opzione '-s N'.

Opzione '-s N'.

Limitare il confronto ai primi N caratteri ( -w> opzione) Utilizzo del comando 'uniq' in Linux

Utilizzando l'opzione -w: Similmente al modo di saltare i caratteri, possiamo anche chiedere a uniq di limitare il confronto a un determinato numero di caratteri. Per questo, viene utilizzata l'opzione della riga di comando -w.

stringa jsonoggetto

//visualizzazione del contenuto di f3.txt//
Com'è possibile?
Come si può fare?
Come usarlo?

uniq -w 3 f3.txt>

Poiché i primi 3 caratteri di tutte e 3 le righe sono uguali, ecco perché uniq li ha trattati come duplicati e ha fornito l'output di conseguenza.

Utilizzando l'opzione -w

Utilizzando l'opzione -w

Confronto senza distinzione tra maiuscole e minuscole ( -i> opzione) Utilizzo del comando 'uniq' in Linux

Il ` -i`> l'opzione rende il confronto senza distinzione tra maiuscole e minuscole:

//visualizzazione del contenuto di f4.txt//
AMO LA MUSICA
amo la musica
GRAZIE

uniq f4.txt>

Qui le linee non vengono trattate come duplicati con il semplice uso di uniq

//ora usando l'opzione -i//

uniq -i f4.txt>

Ora la seconda riga viene rimossa quando viene utilizzata l'opzione -i.

confronto senza distinzione tra maiuscole e minuscole

confronto senza distinzione tra maiuscole e minuscole

Uscita terminata NULL ( -z> opzione) Utilizzo del comando 'uniq' in Linux

Utilizzando l'opzione -z: Per impostazione predefinita, l'output prodotto da uniq termina con una nuova riga. Tuttavia, se lo desideri, vuoi invece avere un output terminato con NULL (utile quando si ha a che fare con uniq negli script). Ciò può essere reso possibile utilizzando l'opzione della riga di comando -z.

Sintassi:

uniq -z file-name>

Conclusione

In questo articolo abbiamo discusso diuniq>Il comando in Linux è uno strumento versatile per gestire le righe duplicate nei file di testo. Comprendendo le sue varie opzioni, è possibile gestire ed elaborare in modo efficiente i dati di testo. Sperimenta diverse opzioni ed esempi per padroneggiare l'utilizzo diuniq>comando.

?list=PLqM7alHXFySFc4KtwEZTANgmyJm3NqS_L