diff · + ajouté · − supprimé
Comparer deux textes
Comparer « red, green, blue » à « red, yellow, blue » ligne par ligne donne 1 ligne ajoutée, 1 ligne supprimée et 2 inchangées. Collez deux textes pour voir toutes les différences.
- +1 −1 =2
- @@ -1,3 +1,3 @@
Chaque ligne ajoutée est marquée + et chaque ligne supprimée −, en plus de la couleur, et les caractères modifiés dans une ligne remplacée sont surlignés. Les petits textes se comparent pendant la saisie ; le texte ne quitte jamais cet onglet.
Scanned by NortonTM Safe Web
En bref
- Prix
- Sans frais
- Compte
- Aucun requis
- Envoi
- Sans objet — les deux textes restent dans votre onglet
- Méthode
- Plus longue sous-séquence commune de lignes, avec caractères modifiés surlignés
- Sortie
- Lignes colorées et marquées, ou diff unifié avec 3 lignes de contexte
- Limite de taille
- 5 000 lignes et 5 000 000 caractères par texte
Une comparaison détaillée et l’effet des options
Les tableaux viennent du même code que l’outil. Le premier compare deux textes de trois lignes ; le second montre comment les options changent le résultat pour une paire de lignes.
| Marqueur | Ligne |
|---|---|
| = | red |
| − | green |
| + | yellow |
| = | blue |
| Réglage | Lignes ajoutées | Lignes supprimées |
|---|---|---|
| Exact | 1 | 1 |
| Ignorer la casse | 1 | 1 |
| Ignorer les espaces | 1 | 1 |
| Ignorer la casse et les espaces | 0 | 0 |
Comment comparer deux textes
Collez les deux textes
Placez le texte le plus ancien dans la zone Original et le plus récent dans la zone Modifié. Deux courts exemples s’y trouvent déjà. Échanger intervertit les deux zones, et Tout effacer vide les deux.
Choisissez ce qui compte comme différence
Cochez Ignorer la casse pour traiter « Hello » et « hello » comme la même ligne, et Ignorer les espaces pour ignorer les espaces en début et en fin de ligne et les espaces répétées à l’intérieur. Afficher seulement les changements replie les lignes inchangées en gardant 3 lignes autour de chaque modification.
Lisez ou copiez la différence
Les lignes marquées − n’existent que dans l’Original, les lignes marquées + que dans le texte Modifié. Copiez le diff unifié pour le coller dans un message ou un correctif, ou téléchargez-le en fichier .diff.
Comment fonctionne la comparaison
Les deux textes sont découpés en lignes, et l’outil cherche la plus longue sous-séquence commune de lignes : le plus grand ensemble de lignes présentes dans les deux textes dans le même ordre. Toute ligne hors de cet ensemble est signalée comme supprimée (seulement dans l’original) ou ajoutée (seulement dans le texte modifié) : le diff comporte donc le moins de lignes modifiées possible. Quand une ligne supprimée est suivie directement d’une ligne ajoutée, les caractères qui diffèrent entre les deux sont surlignés.
Un diff travaille sur des lignes parce que les lignes sont l’unité dans laquelle le code, les fichiers de configuration et les listes changent, et une comparaison par lignes reste rapide pour des milliers de lignes. Une ligne déplacée apparaît une fois comme supprimée et une fois comme ajoutée ; un mot modifié apparaît comme une ligne remplacée, avec les caractères surlignés. Les fins de ligne sont normalisées : un fichier enregistré avec des sauts de ligne Windows correspond au même fichier enregistré avec des sauts de ligne Unix. Chaque texte peut compter jusqu’à 5 000 lignes et 5 000 000 caractères. Le diff unifié suit le format courant : un en-tête --- et +++, puis des blocs @@ avec 3 lignes de contexte.
Questions sur la comparaison de textes
Comment un diff décide-t-il ce qui a changé ?
Il cherche la plus longue sous-séquence commune de lignes, c’est-à-dire le plus grand nombre de lignes que les deux textes partagent dans le même ordre. Les lignes hors de cette séquence sont marquées − si seul l’original les a et + si seul le texte modifié les a. « red, green, blue » comparé à « red, yellow, blue » garde red et blue, supprime green et ajoute yellow.
Pourquoi la comparaison porte-t-elle sur les lignes et non sur les mots ?
Les lignes sont la façon dont le code, les journaux, les listes et les fichiers de configuration sont organisés, et un résultat par lignes reste assez court pour être lu. Pour une ligne remplacée, les caractères qui diffèrent sont surlignés à l’intérieur, ce qui rend facile le repérage d’un mot changé dans une longue phrase.
Que signifient les couleurs et les signes + et − ?
Une ligne verte marquée + a été ajoutée dans le texte Modifié. Une ligne rouge marquée − a été supprimée de l’Original. Les lignes sans marque sont identiques dans les deux. Les signes sont affichés en plus des couleurs : le résultat reste lisible sans distinguer le rouge du vert.
Comment ignorer les différences de casse ou d’espaces ?
Cochez Ignorer la casse pour comparer les lignes sans tenir compte des capitales, et Ignorer les espaces pour ignorer les espaces au début et à la fin d’une ligne et traiter toute suite d’espaces à l’intérieur comme une seule espace. Avec les deux cochées, « Hello World » et « hello world » forment la même ligne.
Quelle taille peuvent avoir les deux textes ?
Chaque texte peut compter jusqu’à 5 000 lignes et 5 000 000 caractères. Un texte de 5 000 lignes comparé à une copie réordonnée de lui-même est traité en bien moins d’une seconde sur un ordinateur récent. Au-delà de 100 000 caractères au total, la comparaison démarre quand vous appuyez sur Comparer plutôt qu’en cours de saisie.
Qu’est-ce qu’un diff unifié ?
C’est le format texte utilisé par diff et Git. Il commence par une ligne --- et une ligne +++ qui nomment les deux textes, puis un bloc par groupe de modifications. Un bloc commence par un en-tête comme @@ -1,3 +1,3 @@, qui signifie 3 lignes à partir de la ligne 1 de l’original et 3 lignes à partir de la ligne 1 du texte modifié, et chaque ligne commence par une espace, + ou −.