add diff.md
This commit is contained in:
parent
c307e3e744
commit
96122eb0e9
72
diff.md
Normal file
72
diff.md
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
# Confrontare file
|
||||||
|
|
||||||
|
Il comando `diff` confronta due file e produce una lista delle loro differenze. Per essere più precisi, produce un elenco delle modifiche che dovrebbero essere apportate al primo file, per farlo corrispondere al secondo file.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
diff file1 file2
|
||||||
|
```
|
||||||
|
Ecco un esempio:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
> cat file1
|
||||||
|
file1
|
||||||
|
|
||||||
|
> cat file2
|
||||||
|
file2
|
||||||
|
file3
|
||||||
|
file1
|
||||||
|
|
||||||
|
> diff file1 file2
|
||||||
|
0a1,2
|
||||||
|
> file2
|
||||||
|
> file3
|
||||||
|
```
|
||||||
|
|
||||||
|
Ogni differenza è elencata a sua volta in una singola colonna e ogni differenza viene etichettata. L'etichetta è composta da due numeri che circondano una lettera, come nell'esempio `0a1`.
|
||||||
|
Il primo numero è il numero di riga in file1, e il secondo numero è il numero di riga in file2. La lettera nel mezzo può essere:
|
||||||
|
|
||||||
|
- `c`: la riga nel primo file deve essere modificata per corrispondere alla riga nel secondo file;
|
||||||
|
- `d`: la riga nel primo file deve essere eliminata;
|
||||||
|
- `a`: il contenuto extra deve essere aggiunto al primo file per farlo corrispondere al secondo file.
|
||||||
|
|
||||||
|
I parametri `-s` e `-q` indicano, rispettivamente, se i due file sono identici ovvero differenti:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
> diff -s file2 file3
|
||||||
|
I file file2 e file3 sono identici
|
||||||
|
|
||||||
|
> diff -q file1 file2
|
||||||
|
I file file1 e file2 sono diversi
|
||||||
|
```
|
||||||
|
|
||||||
|
## Una vista alternativa
|
||||||
|
|
||||||
|
```bash
|
||||||
|
> diff -y -W 70 file1 file3
|
||||||
|
> file2
|
||||||
|
|
||||||
|
file5 | file3
|
||||||
|
file1 file1
|
||||||
|
file4 <
|
||||||
|
```
|
||||||
|
L'opzione `-y` (side by side) utilizza un layout diverso per mostrare le differenze tra i file. Spesso è conveniente specificare la larghezza `-W` per limitare il numero di colonne visualizzate.
|
||||||
|
|
||||||
|
Il primo file viene visualizzato a sinistra mentre il secondo è mostrato sulla destra. Le righe di ogni file vengono visualizzate fianco a fianco.
|
||||||
|
Ci sono caratteri indicatori accanto alle varie righe:
|
||||||
|
|
||||||
|
- `|`: una riga che è differente nel secondo file;
|
||||||
|
- `<`: una riga che non è presente nel secondo file;
|
||||||
|
- `>`: una riga che non è presente nel primo file
|
||||||
|
|
||||||
|
## Uno spruzzo di colore
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo apt-get install colordiff
|
||||||
|
```
|
||||||
|
|
||||||
|
Il comando `colordiff` aggiunge colore all'output di `diff`.
|
||||||
|
|
||||||
|
## Collegamenti
|
||||||
|
|
||||||
|
- [https://www.howtogeek.com/410532/how-to-compare-two-text-files-in-the-linux-terminal/](https://www.howtogeek.com/410532/how-to-compare-two-text-files-in-the-linux-terminal/)
|
||||||
|
- [https://linuxhandbook.com/compare-directories/](https://linuxhandbook.com/compare-directories/)
|
Loading…
x
Reference in New Issue
Block a user