Comando Linux · 3 min read · Sep 16, 2025
Tutorial sul comando comm di Linux per principianti (5 esempi)
Il comando comm in Linux consente agli utenti di confrontare due file ordinati riga per riga. In questo tutorial, discuteremo di questo strumento da riga di comando utilizzando esempi facili da comprendere. Ma prima di farlo, si prega di notare che tutti gli esempi menzionati in questo tutorial sono stati testati su Ubuntu 16.04LTS.
Comando Linux comm
I seguenti esempi dovrebbero darti una buona idea di come funziona lo strumento ‘comm’.
1. Come confrontare due file ordinati usando comm
Per confrontare due file ordinati usando ‘comm’, tutto ciò che devi fare è passare i loro nomi come argomenti allo strumento da riga di comando. Ecco la sintassi generica:
comm [nome-del-primo-file] [nome-del-secondo-file]Ad esempio, supponiamo che ‘file1’ e ‘file2’ siano i due file nel nostro caso. Il primo contiene le seguenti righe:
001
056
127
258mentre il secondo contiene le seguenti righe:
002
056
167
369Ora, ecco l’output del comando ‘comm’ in questo caso:
comm file1 file2
Quindi puoi vedere che l’output consiste di tre colonne. La prima contiene righe uniche a ‘file1’, la seconda contiene righe uniche a ‘file2’, e infine, la terza colonna contiene righe comuni a entrambi i file.
2. Come sopprimere colonne individuali nell’output del comando comm
Se vuoi, puoi sopprimere colonne individuali nell’output del comando comm. Per questo, hai tre opzioni da riga di comando: -1, -2 e -3. Come avrai indovinato, questi numeri rappresentano le colonne che vuoi sopprimere.
Ad esempio, ecco il comando per sopprimere la terza colonna nel nostro caso:
comm -3 file1 file2
Quindi puoi vedere che la terza colonna è stata soppressa.
Nota che puoi sopprimere più colonne con un singolo comando. Ad esempio:
comm -12 file1 file2sopprimerà sia la prima che la seconda colonna.
3. Come far confrontare a comm file che non sono ordinati
Come sappiamo, il comando comm funziona solo con file ordinati. Se trova che un file non è ordinato, viene prodotto un messaggio nell’output che informa l’utente di questo. Ad esempio, abbiamo scambiato la prima e la seconda riga in ‘file1’, e poi l’abbiamo confrontato con ‘file2’. Ecco quale è stato l’output:

Quindi puoi vedere che il comando ha prodotto un output che dice che ‘file1’ non è ordinato. Ora, se non vuoi che lo strumento controlli se l’input è ordinato o meno, puoi usare l’opzione –nocheck-order.
comm --nocheck-order file1 file2
Quindi puoi vedere che il messaggio che veniva visualizzato in precedenza è stato soppresso.
Si prega di notare che nel caso in cui si desideri esplicitamente dire al comando comm di eseguire il controllo di ordinamento sui file di input, puoi utilizzare l’opzione –check-order.
4. Come separare le colonne di output di comm con una stringa personalizzata
Per impostazione predefinita, le colonne nell’output del comando comm sono separate da spazi. Tuttavia, se vuoi, puoi cambiare questo e avere una stringa a tua scelta come separatore. Questo può essere fatto usando l’opzione –output-delimiter. Questa opzione richiede di specificare la stringa che vuoi usare come separatore.
comm --output-delimiter=STR file1 file2Ad esempio, abbiamo usato il simbolo più (+) come delimitatore.

5. Come far terminare le righe di output di comm con NUL
Le righe di output del comando comm sono terminate da newline per impostazione predefinita. Tuttavia, se vuoi, puoi farle terminare con NUL invece. Questo può essere fatto usando l’opzione da riga di comando -z.
comm -z file1 file2Conclusione
Il comando comm non offre molte funzionalità - abbiamo coperto quasi tutte le sue opzioni da riga di comando qui. Quindi, comprendi e pratica ciò di cui abbiamo discusso in questo tutorial, e sarai pronto a utilizzare lo strumento nelle tue attività quotidiane. In caso di dubbi o domande, vai alla pagina man del comando o lascia un commento qui sotto.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.