Il comando Linux diff analizza un file riga per riga e fornisce un output di un elenco di modifiche apportate tra due file.
Il comando diff è l'abbreviazione di differenza, che in sostanza dà le differenze tra due file .
A differenza di cmp
(confronta) e comm
comandi, diff evidenzia la riga specifica che deve essere modificata in modo che corrisponda agli altri file.
Una cosa che gli amministratori Linux non possono dimenticare è che diff utilizza simboli e istruzioni per renderlo più efficace.
I simboli specifici indicano al comando di modificare il file in un modo particolare in modo che corrisponda al secondo.
Simboli speciali nell'output del comando diff:
- a:aggiungi
- c:cambia
- d:elimina
Sintassi del comando diff Linux
diff [options] File1 File2
Diamo un'occhiata agli esempi di utilizzo del comando diff.
Caso 1:cambiamento
Supponiamo di avere due file:x.txt e y.txt
x.txt contiene il seguente contenuto.
California
Miami
Ohio
Kansas
Texas
y.txt contiene il seguente contenuto.
California
Nevada
Georgia
Kansas
Texas
Ora usa il comando diff per fare il confronto tra i due file come mostrato.
$ diff x.txt y.txt
Risultato di esempio
Esaminiamo l'output in modo più dettagliato.
Il 2,3c2,3
riga implica che le righe 2 e 3 del primo file devono essere modificate per far corrispondere le righe 2 e 3 del secondo file di testo.
Spiegazione dei simboli di output del comando diff
Vediamo brevemente i vari simboli che si incontrano nell'output.
- Il simbolo meno di indica le righe dalla prima riga
- Il simbolo maggiore di indica le righe dalla seconda riga
a - Denotes that text was added to the file
c - Denotes that changes were made in the file
d - Indicates that the line was expunged or deleted
Diamo un'occhiata a un altro esempio.
Caso 2:aggiunta
Abbiamo due file di testo:
Il file file 1.txt ha il seguente contenuto.
Linux is a great operating system
It's free and opensource
It's light and stable
I would highly recommend it
file2.txt ha il seguente contenuto.
Linux is a great operating system
It's free and opensource
It's light and stable
Oh ! It can be installed on almost any PC hardware
I would highly recommend it
Usa il comando diff per confrontare entrambi i file.
$ diff file1.txt file2.txt
Risultato di esempio
Dall'output sopra, 3a4
implica che dopo la riga 3 del primo file, è necessario aggiungere un'altra riga che corrisponda alla riga 4 del secondo file .
Caso 3:eliminazione
Considera due file come di seguito.
file3.txt con il seguente contenuto.
Apples
Oranges
Mangoes
Peaches
Bananas
Grapes
E file4.txt che ha il seguente contenuto.
Apples
Oranges
Mangoes
Bananas
Grapes
Ancora una volta, usa il comando diff per confrontare entrambi i file.
$ diff file3.txt file4.txt
Risultato di esempio
Qui l'output 4d3 significa che elimina la 4a riga dal primo file per sincronizzarsi con il secondo file alla riga numero 3.
Conclusione
Il comando Linux diff è una semplice utility per confrontare due file. È utile per controllare le modifiche tra due versioni di un file di testo.