Come utilizzare Comm Command in Linux

Come utilizzare Comm Command in Linux
Il comando Comm viene utilizzato in Linux per confrontare diversi file, questo comando confronta ogni riga dei file e visualizza le righe uniche e le righe comuni dei file in colonne separate. La necessità di confronto di file si verifica principalmente con i programmatori; Quando hanno bisogno di scoprire le modifiche apportate nel programma nel tempo.

In questo articolo, spiegheremo l'utilizzo del comando comand in Linux con una spiegazione dettagliata.

Come utilizzare il comando comand in Linux

Il comando COMM può essere utilizzato per confrontare due file riga per riga, la sintassi generale dell'utilizzo del comando di comunicazione:

$ comm [opzione] file_name1 file_name2

La sintassi di comando sopra visualizzerà il risultato in tre colonne; La prima colonna visualizzerà le righe univoci del file1, la seconda colonna visualizzerà le righe univoci del file2 e la terza colonna visualizzerà le righe comuni di entrambi i file.

Possiamo anche usare alcune opzioni insieme al comando di comand; Alcune opzioni comunemente usate sono:

Opzioni Spiegazione
-1 Non visualizzerà la prima colonna del risultato, che contiene le righe uniche del file1
-2 Non visualizzerà la seconda colonna del risultato, che contiene le righe univoci del file2
-3 Non visualizzerà la terza colonna del risultato, che contiene le linee comuni di entrambi i file; file1 e file2
-controllo Controllerà tutte le righe di entrambi i file sono correttamente ordinate o no
-Ordine Nocheck Non controllerà l'ordine di ordinamento e visualizzerà semplicemente i risultati
-aiuto Mostrerà un prompt dei messaggi di aiuto e uscirà
-versione Mostrerà la versione delle informazioni e delle uscite
-totale Viene visualizzato il numero totale di righe presenti in ciascuna colonna del risultato
-Z, -zero -Delimiter Visualirà i file separatamente anziché le colonne; Il valore dei delimitatori zero è nullo
-output-delimiter = [qualsiasi carattere] Sostituirà gli "spazi" nei risultati usando il carattere che si desidera inserire lì

Per comprendere tutte queste opzioni, considereremo due file di testo con il nome; mytestFile1.txt e mytestFile2.txt, il cui contenuto può essere visualizzato usando i comandi:

$ cat mytestFile1.TXT
$ cat mytestFile2.TXT

Innanzitutto, confronteremo entrambi i file utilizzando il comando comand senza alcuna opzione, a tale scopo, dobbiamo usare il comando:

$ Comm MytestFile1.txt mytestFile2.TXT

Come sappiamo, il comando Comm è applicabile sui file ordinati e i file indicati nel comando non sono ordinati, quindi ha generato gli avvertimenti "File non ordinati", per rimuovere questi commenti, useremo il "-Ordine-Nocheck" Flag, che ignorerà il controllo dell'ordine di ordinamento e visualizzerà i risultati:

$ comm-Nocheck-Ordine mytestFile1.txt mytestFile2.TXT

Nell'immagine sopra, abbiamo segnato tre colonne per una migliore comprensione dei risultati, la prima colonna ha visualizzato le linee uniche di MyTestFile1.txt che è solo "fedora", la seconda colonna ha visualizzato le linee uniche di mytestFile2.txt che è solo "debian" e l'ultima colonna ha visualizzato le righe comuni di entrambi i file. Se vogliamo visualizzare la colonna 1 (righe uniche di mytestFile1.txt) e colonna 3 (righe comuni di entrambi i file), sopprimeremo la colonna 2 usando il flag "-2":

$ comm -2 -Nocheck -Ordine mytestFile1.txt mytestFile2.TXT

Allo stesso modo, possiamo sopprimere entrambe le colonne 1, la colonna 2 e la visualizzazione solo della colonna 3 (contenente le righe comuni di entrambi i file) eseguendo il comando:

$ comm -12 -Ordine Nocheck mytestFile1.txt mytestFile2.TXT

L'output ha visualizzato solo la terza colonna del risultato, al fine di scoprire il numero totale di righe di ciascuna colonna, utilizzare il comando:

$ comm--total-Nocheck-Ordine mytestFile1.txt mytestFile2.TXT

Per verificare se l'ordine di ordinamento di entrambi i file è nell'ordine corretto o meno, eseguire il comando di commissione utilizzando il flag "-controllo-ordine":

$ comm-controllo-ordine mytestfile1.txt mytestFile2.TXT

I risultati mostrano che il file 1 non è in ordine ordinato perché i nomi dei file non sono disposti in ordine alfabeticamente né in ordine crescente né in ordine decrescente, allo stesso modo, viene utilizzato il flag “-zero-delimiter”:

$ Comm-MyTestFile1 terminato.txt mytestFile2.TXT

Allo stesso modo, possiamo usare "-Output-Delimiter = **" con il comando comand per sostituire lo spazio con "stella (*)":

$ Comm --Output-Delimiter = **-Nocheck-Ordine myTestFile1.txt mytestFile2.TXT

Per controllare la versione del comando Comm:

$ Comm -Version

Se vuoi saperne di più sul comando comand, puoi controllare il suo manuale usando il comando:

$ MAN COMM

Conclusione

Il comando Comm viene utilizzato per confrontare le righe dei file ordinati in Linux, tuttavia, ci sono anche altri modi per confrontare i file come il comando diff e l'utilizzo dell'editor VIM. Il comando di comunicazione è facile da usare e consigliato in cui i file contengono script e è necessario solo un confronto più semplice. In questo articolo, abbiamo discusso brevemente del comando e delle sue varie opzioni con l'aiuto di esempi.