Confrontare due testi e codice: diff riga per riga
Incolla il testo originale e la versione modificata per vedere subito le righe aggiunte (+), eliminate (−) e invariate tra i due testi.
Confrontare due testi riga per riga: come leggere il diff
Lo strumento confronta due testi riga per riga: una riga presente da entrambi i lati è identica, una riga che esiste solo nell'originale è rimossa (−) e una riga che esiste solo nella versione modificata è aggiunta (+). Sull'esempio JSON fornito, conta 5 aggiunte, 4 rimozioni e 3 righe identiche.
L'algoritmo
I due testi vengono divisi agli a capo. Lo strumento calcola poi la più lunga sottosequenza comune delle due liste di righe, come git diff: quelle righe sono segnate come identiche, le altre righe dell'originale sono rimosse e le altre righe del testo modificato sono aggiunte. Quando delle righe vengono sostituite, le rimozioni compaiono prima delle aggiunte.
Esempio ricalcolato
Nel JSON d'esempio (7 righe contro 8), la graffa di apertura, la riga "status": "active" e la graffa di chiusura sono identiche. Le righe name, version, description e tools, modificate, compaiono ciascuna come rimozione e poi come aggiunta, e "theme": "dark" è un'aggiunta pura: +5, −4, 3 identiche. Altro caso: a, b, c, d contro a, B, c, d, e dà +2, −1 e 3 identiche; con «Ignora maiuscole/minuscole», b e B diventano uguali e restano +1 e 4 identiche.
Opzioni e limiti
- «Ignora gli spazi» elimina gli spazi a inizio e fine riga e riduce le sequenze di spazi a uno solo; «Ignora maiuscole/minuscole» confronta in minuscolo.
- Il confronto riguarda l'intera riga: un solo carattere modificato segna tutta la riga, senza evidenziazione al suo interno.
- Un blocco inserito viene riconosciuto: 11 righe aggiunte all'inizio di un testo di 15 righe danno 11 aggiunte e 15 righe identiche. Limite: tolti l'inizio e la fine in comune, se la zona che differisce supera circa 10 milioni di celle (righe dell'originale × righe della versione modificata, cioè all'incirca 3.160 righe per lato), viene mostrata in blocco, con tutte le sue righe come rimozioni e poi come aggiunte, anche quelle che non sono cambiate. Un blocco spostato appare rimosso dalla vecchia posizione e aggiunto in quella nuova.
Il pulsante «Inverti i testi» (doppie frecce) scambia l'originale e la versione modificata. Il confronto avviene nel tuo browser.
Domande frequenti
Come confrontare due versioni di un file di codice?
Incolla l'originale a sinistra e la versione modificata a destra: lo strumento mostra le righe aggiunte in verde (+), quelle eliminate in rosso (−) e il numero di righe identiche. Con l'esempio JSON fornito, trova 5 aggiunte, 4 eliminazioni e 3 righe identiche.
Perché una riga modificata compare sia eliminata sia aggiunta?
Lo strumento confronta righe intere, non caratteri. Una riga in cui cambia una sola parola non è più uguale alla vecchia: viene quindi conteggiata come un'eliminazione (la vecchia) seguita da un'aggiunta (la nuova). Passare da "version": "1.0.0" a "2.0.0" aggiunge così +1 e −1 ai contatori.
A cosa serve l'opzione «Ignora gli spazi»?
Toglie gli spazi a inizio e fine riga e riduce ogni sequenza di spazi a uno solo prima di confrontare. Un codice semplicemente re-indentato non risulta più come modificato.
Lo strumento rileva un blocco di righe spostato?
No: un blocco spostato compare come eliminato dalla vecchia posizione e aggiunto in quella nuova. Il resto del testo resta ben allineato, qualunque sia la dimensione del blocco, perché lo strumento calcola la più lunga sottosequenza comune dei due testi, come git diff.
Lo strumento è davvero gratuito?
Sì, tutti gli strumenti di Kristools sono gratuiti al 100% e accessibili senza registrazione.
I miei dati sono protetti?
Sì. Tutte le elaborazioni vengono eseguite direttamente e in modo sicuro nel tuo browser. Nessun dato personale viene inviato ai nostri server.