Vai al contenuto

diff · + aggiunte · − rimosse

Confronta testi

Confrontando riga per riga “red, green, blue” con “red, yellow, blue” si ottiene 1 riga aggiunta, 1 riga rimossa e 2 invariate. Incolla due testi per vedere ogni differenza.

Ogni riga aggiunta è segnata con + e ogni riga rimossa con −, oltre che colorata, e i caratteri modificati dentro una riga sostituita sono evidenziati. I testi brevi vengono confrontati mentre scrivi; il testo non lascia mai questa scheda.

Scanned by NortonTM Safe Web

In breve

Prezzo
Nessun costo
Account
Non serve
Caricamento
Non applicabile — entrambi i testi restano nella tua scheda
Metodo
Più lunga sottosequenza comune di righe, con i caratteri modificati evidenziati
Output
Righe colorate e segnate, oppure un diff unificato con 3 righe di contesto
Limite di dimensione
5,000 righe e 5,000,000 caratteri per testo

Un confronto svolto e l'effetto delle opzioni

Le tabelle vengono dallo stesso codice dello strumento. La prima confronta due testi di tre righe; la seconda mostra come le opzioni cambiano il risultato per una coppia di righe.

“red, green, blue” contro “red, yellow, blue”, una per riga
SegnoRiga
=red
−green
+yellow
=blue
“Hello World” contro “hello world” (due spazi)
ImpostazioneRighe aggiunteRighe rimosse
Esatto11
Ignora maiuscole11
Ignora spazi11
Ignora maiuscole e spazi00

Come confrontare due testi

1

Incolla i due testi

Metti il testo più vecchio nella casella Originale e quello più recente nella casella Modificato. Ci sono già due brevi esempi. Inverti scambia le due caselle e Cancella le svuota entrambe.

2

Scegli cosa conta come differenza

Spunta Ignora maiuscole per trattare “Hello” e “hello” come la stessa riga, e Ignora spazi per ignorare gli spazi agli estremi di una riga e gli spazi ripetuti al suo interno. Mostra solo le modifiche nasconde le righe invariate, tenendo 3 righe attorno a ogni modifica.

3

Leggi o copia la differenza

Le righe segnate con − esistono solo nell'Originale, quelle segnate con + solo nel testo Modificato. Copia il diff unificato per incollarlo in un messaggio o in una patch, oppure scaricalo come file .diff.

Come funziona il confronto

I due testi vengono divisi in righe e lo strumento trova la più lunga sottosequenza comune di righe: il più grande insieme di righe che compaiono in entrambi i testi nello stesso ordine. Ogni riga fuori da quell'insieme è segnalata come rimossa (solo nell'originale) o aggiunta (solo nel testo modificato), quindi il diff ha il minor numero possibile di righe modificate. Dove a una riga rimossa segue subito una riga aggiunta, i caratteri che differiscono tra le due sono evidenziati.

Un diff lavora per righe perché le righe sono l'unità in cui cambiano codice, file di configurazione ed elenchi, e il confronto per righe resta veloce con migliaia di righe. Una riga spostata compare una volta come rimossa e una volta come aggiunta; una parola modificata compare come riga sostituita, con i caratteri evidenziati. Le terminazioni di riga vengono normalizzate, quindi un file salvato con interruzioni di riga di Windows coincide con lo stesso file salvato con interruzioni di riga Unix. Ogni testo può avere fino a 5,000 righe e 5,000,000 caratteri. Il diff unificato usa il formato comune: un'intestazione --- e +++, poi blocchi @@ con 3 righe di contesto.

Domande su Confronta testi

Come decide un diff di testo cosa è cambiato?

Trova la più lunga sottosequenza comune di righe, cioè il maggior numero di righe che i due testi condividono nello stesso ordine. Le righe fuori da essa sono segnate con − se le ha solo l'originale e con + se le ha solo il testo modificato. “red, green, blue” contro “red, yellow, blue” mantiene red e blue, rimuove green e aggiunge yellow.

Perché il confronto lavora sulle righe e non sulle parole?

Le righe sono il modo in cui sono organizzati codice, log, elenchi e file di configurazione, e un risultato per righe è abbastanza corto da leggere. Per una riga sostituita, i caratteri diversi sono evidenziati al suo interno, così una modifica di una parola in una frase lunga si nota facilmente.

Cosa significano i colori e i segni + e −?

Una riga verde segnata con + è stata aggiunta nel testo Modificato. Una riga rossa segnata con − è stata rimossa dall'Originale. Le righe senza segno sono uguali in entrambi. I segni sono stampati oltre ai colori, quindi il risultato si legge anche senza distinguere il rosso dal verde.

Come ignoro le differenze di maiuscole o di spazi?

Spunta Ignora maiuscole per confrontare le righe senza badare alle maiuscole, e Ignora spazi per ignorare gli spazi all'inizio e alla fine di una riga e trattare qualsiasi sequenza di spazi al suo interno come uno spazio solo. Con entrambe le opzioni, “Hello World” e “hello world” sono la stessa riga.

Quanto possono essere grandi i due testi?

Ogni testo può avere fino a 5,000 righe e 5,000,000 caratteri. Un testo di 5,000 righe confrontato con una copia riordinata di sé stesso viene elaborato in molto meno di un secondo su un computer attuale. Oltre 100,000 caratteri in totale il confronto parte quando premi Confronta invece che mentre scrivi.

Cos'è un diff unificato?

È il formato di testo usato da diff e Git. Inizia con una riga --- e una +++ che nominano i due testi, poi un blocco per ogni gruppo di modifiche. Un blocco comincia con un'intestazione come @@ -1,3 +1,3 @@, che significa 3 righe dalla riga 1 dell'originale e 3 righe dalla riga 1 del testo modificato, e ogni riga comincia con uno spazio, + o −.