Comandi Linux · 3 min read · Sep 20, 2025
Tutorial sul comando sdiff di Linux per principianti (8 esempi)

Qui su HowtoForge, abbiamo già discusso di molteplici utilità della riga di comando focalizzate sulla ricerca delle differenze tra file. Ma ci sono molti altri strumenti simili, e in questo tutorial discuteremo di un comando chiamato sdiff utilizzando alcuni esempi facili da comprendere.
Si prega di notare che tutti gli esempi del comando sdiff menzionati in questo articolo sono stati testati su Ubuntu 22.04 LTS.
Comando sdiff di Linux
Il comando sdiff ti mostra le differenze tra file in forma affiancata. Di seguito è riportata la sua sintassi:
sdiff [OPZIONE]... FILE1 FILE2Ecco come la pagina man lo descrive:
sdiff - unione affiancata delle differenze tra file
Unione affiancata delle differenze tra FILE1 e FILE2.Di seguito ci sono alcuni esempi in stile Q&A che dovrebbero darti una buona idea di come funziona questo strumento.
Q1. Come funziona il comando sdiff?
L’uso di base è semplice, tutto ciò che devi fare è eseguire il comando sdiff con i nomi dei file come argomenti. Ad esempio:
sdiff file1 file2file1 e file2 erano esattamente gli stessi nel mio caso.
Ecco l’output prodotto da sdiff in questo caso:
Questo tipo di output significa che non ci sono differenze nei file.
Q2. Come far ignorare a sdiff le maiuscole?
Supponiamo che file1 e file2 contengano le seguenti righe:
Il comando:
sdiff file1 file2
produce il seguente output:
Il pipe (|) nella prima riga nella seconda colonna indica che i due file sono diversi nella prima riga stessa. Tuttavia, se vuoi, puoi forzare sdiff a ignorare le maiuscole, cosa che puoi fare utilizzando l’opzione della riga di comando -i.
sdiff -i file1 file2
Quindi puoi vedere che l’output ora mostra i due file come identici, il che significa che la differenza di maiuscole è stata ignorata.
Q3. Come far ignorare a sdiff gli spazi?
Nel caso in cui uno dei file contenga spazi, il comando sdiff mostrerà la differenza per impostazione predefinita. Tuttavia, se vuoi, puoi sopprimere questo comportamento utilizzando l’opzione della riga di comando -Z:

Poi ci sono diverse altre opzioni relative agli spazi di cui dovresti essere a conoscenza. Ecco un elenco:
-E, --ignore-tab-expansion
ignora le modifiche dovute all'espansione delle tabulazioni-b, --ignore-space-change
ignora le modifiche nella quantità di spazi bianchi-W, --ignore-all-space
ignora tutti gli spazi bianchiQ4. Come far ignorare a sdiff le righe vuote?
Proprio come gli spazi, per impostazione predefinita, il comando sdiff tiene conto anche delle righe vuote. Ad esempio:

Tuttavia, puoi far ignorare al comando le righe vuote utilizzando l’opzione della riga di comando -B.
sdiff -B file1 file2

Quindi puoi vedere che il comando sdiff non ha considerato la riga vuota come una differenza in questo caso.
Q5. Come far sopprimere a sdiff le righe comuni?
Supponiamo che i file contengano alcune righe comuni, e vuoi che il comando sdiff sopprima le righe comuni, allora puoi farlo utilizzando l’opzione della riga di comando -s.
sdiff -s file1 file2
Q6. Come far utilizzare a sdiff un programma diff diverso?
Per impostazione predefinita, sdiff utilizza diff per eseguire il confronto. Tuttavia, se vuoi, puoi anche sostituire diff con il programma di tua scelta. Per farlo, utilizza l’opzione –diff-program che richiede il nome del programma come input.
sdiff --diff-program=[PROGRAMMA] file1 file2Q7. Come salvare l’output di sdiff in un file
L’opzione -o o –output ci consente di salvare il risultato di sdiff in un file di output. Esempio:
sdiff --output=/tmp/mydiff.txt file1 file2Q8. Come ottenere solo la colonna sinistra
Con l’opzione della riga di comando -l o la sua forma lunga –left-column, ottieni solo la colonna sinistra come risultato.
sdiff --left-column file1 file2Conclusione
Lo strumento Sdiff offre molte funzionalità, ma la sua curva di apprendimento non è così ripida. Tutto ciò di cui hai bisogno è un po’ di pratica e dovresti essere a posto. Abbiamo discusso della maggior parte delle opzioni della riga di comando qui. Per ulteriori informazioni, vai alla pagina man di sdiff.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.