GNU/Linux >> Linux Esercitazione >  >> Linux

Un'introduzione al comando diff

Il comando diff dal pacchetto diffutils confronta i file riga per riga. È molto utile quando si desidera verificare se sono state apportate modifiche recenti a un file dall'ultimo backup e quali sono. Uno stato di uscita di 0 significa che non sono state trovate differenze, 1 significa che sono state rilevate alcune differenze e 2 significa guai. E ovviamente, se ci sono modifiche, diff te li mostrerò. Ma diamo un'occhiata ad alcuni esempi.

Esempio 1:entrambi i file hanno lo stesso contenuto

Alice e Bob stanno facendo un barbecue e hanno pubblicato i loro menu. Per decidere quale menu mi piacerebbe di più, potrei confrontare i menu come segue:

$ diff menu1 menu2
$ echo $?
0
$ cat menu{1,2}
# The menu
* Spare Ribs
* Brisket
* Pulled Pork
# The menu
* Spare Ribs
* Brisket
* Pulled Pork

Vedi, entrambi servono costine, petto e maiale stirato. Non c'è differenza tra i due file. Forse Alice e Bob dovrebbero unire le forze per organizzare un barbecue davvero enorme.

Quando Eve ha sentito che Alice e Bob stavano organizzando feste, è diventata gelosa e ha deciso di organizzare anche un barbecue. Il suo menu viene fornito con il file menu3 . Bene, vediamo quali le differenze nel suo menu sono confrontate con quelle di Alice e di Bob.

Esempio 2:ora ci sono bevande coinvolte

$ diff menu1 menu3
4a5,8
> 
> # Drinks
> * Soda
> * Beer
$ echo $?
1
$

Ci sono differenze ora. E, con l'output nella prima riga, diff ci dice cosa deve essere aggiunto (a) a menu1 in modo che abbia lo stesso contenuto di menu3 . Quindi, 4a5,8 significa che devi aggiungere alcune righe dopo la riga 4 in menu1 in modo che assomigli alle righe 5-8 in menu3 .

Quando si cambia la posizione dei file, l'output ha un aspetto diverso:

$ diff menu3 menu1
5,8d4
< 
< # Drinks
< * Soda
< * Beer

Ora, diff ci dice che le righe 5-8 in menu3 devono essere eliminati (d) per rendere il file identico a menu1 .

Esempio 3:Quando c'è qualcosa da cambiare

Ho modificato menu1menu2 di nuovo per assomigliare a questo:

# The menu
* Spare Ribs
* Brisket
* Pulled Pork

# The menu
* Spare Ribs
* Pulled Pork
* Pulled Pork

Questa volta, diff ci mostrerà quale riga deve essere modificata (c) per far sembrare entrambi i file uguali:

$ diff menu1 menu2
3c3
< * Brisket
---
> * Pulled Pork

Concludendo

Il diff command è uno strumento facile e flessibile da usare per confrontare i file riga per riga. Dai un'occhiata a diff(1) per capire cos'altro si può fare con diff .

[ Vuoi testare le tue capacità di amministratore di sistema? Fai una valutazione delle abilità oggi. ]


Linux
  1. Un'introduzione all'uso di tcpdump nella riga di comando di Linux

  2. Introduzione al comando Linux chmod

  3. Introduzione al comando chown di Linux

  4. Padroneggia il comando ls di Linux

  5. Il comando locate in Linux

Ansible Guide:Il comando ad hoc

Spiegazione del comando tar di Linux

Padroneggia la riga di comando di Linux

comando diff in Linux

Un'introduzione al registro dei container Quay

Il comando timer in Linux