Il formato di output standard (precedente) visualizzerà la differenza tra i file senza testo circostante con aree in cui i file differiscono.
Mostrando differenze senza contesto
Il diff
formato di output "normale" mostra ogni pezzo di differenze senza alcun contesto circostante. A volte tale output è il modo più chiaro per vedere come sono cambiate le linee, senza il disordine delle linee invariate vicine (anche se puoi ottenere risultati simili con il contesto o formati unificati usando 0 linee di contesto). Tuttavia, questo formato non è più ampiamente utilizzato per l'invio di patch; a tal fine, il formato di contesto e il formato unificato sono superiori. Il formato normale è l'impostazione predefinita per la compatibilità con le versioni precedenti didiff
e lo standard POSIX. Utilizzare l' --normal
opzione per selezionare esplicitamente questo formato di output.
Descrizione dettagliata del formato normale
Il normale formato di output è costituito da uno o più blocchi di differenze; ogni pezzo mostra un'area in cui i file differiscono. Gli hunk di formato normale si presentano così:
CHANGE-COMMAND
< FROM-FILE-LINE
< FROM-FILE-LINE...
---
> TO-FILE-LINE
> TO-FILE-LINE...
Esistono tre tipi di comandi di modifica. Ciascuno è costituito da un numero di riga o da un intervallo di righe separate da virgola nel primo file, da un singolo carattere che indica il tipo di modifica da apportare e da un numero di riga o da un intervallo di righe separate da virgola nel secondo file. Tutti i numeri di riga sono i numeri di riga originali in ciascun file. I tipi di comandi di modifica sono:
LaR
Aggiungi le righe nell'intervallo R del secondo file dopo la riga L del primo file. Ad esempio, 8a12,15
significa aggiungere le righe 12-15 del file 2 dopo la riga 8 del file 1; oppure, se si modifica il file 2 nel file 1, eliminare le righe 12-15 del file 2.
FcT
Sostituisci le righe nell'intervallo F del primo file con le righe nell'intervallo T del secondo file. Questo è come un combinato aggiungere ed eliminare, ma più compatto. Per esempio,5,7c8,10
significa cambiare le righe 5-7 del file 1 per leggerle come righe 8-10 del file 2; oppure, se si modifica il file 2 nel file 1, modificare le righe 8-10 del file 2 per leggerle come righe 5-7 del file 1.
RdL
Elimina le righe nell'intervallo R dal primo file; la riga L è dove sarebbero apparsi nel secondo file se non fossero stati eliminati. Ad esempio, 5,7d3
significa eliminare le righe 5-7 del file 1; oppure, se si modifica il file 2 nel file 1, aggiungere le righe 5-7 del file 1 dopo la riga 3 del file 2.
Quindi, per vedere le arance, dovresti differenziarle fianco a fianco o usando un contesto unificato.
oranges
è la più grande parte comune tra i due file, quindi quello che ottieni è il modo più breve per esprimere le differenze tra i due file.