Installé avec le paquet wdiff
Voir aussi : diff, colordiff, fldiff, xxdiff, zdiff, bzdiff, xzdiff, sdiff, mgdiff, diff3, meld, kdiff3, kompare et diffuse
Afficher la version de la commande wdiff
wdiff --version
ou
apt-cache policy wdiff
Fichiers utilisés pour les tests (numérotés pour visibilité)
file1.txt
1 Lorem ipsum dolor sit amet, consectetuer adipiscing elit. 2 3 Aenean commodo ligula eget dolor. Aenean massa. 4 5 Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
file2.txt
1 Lorem ipsum dolor sit amet, consectetuer adipiscing elit. 2 3 Aenean commodo ligula eget dolor. Aenean massa. 4 5 Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
file3.txt
1 Nulla consequat massa quis enim. 2 3 Aenean commodo ligula eget dolor. Aenean massa. 4 5 Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. 6 7 Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
Comparer deux fichiers ligne par ligne
wdiff filename1 filename2
Si les fichiers sont identiques, le fichier fusionné est affiché sans modification et la valeur 0 est retournée.
Si les fichiers sont différents, le fichier fusionné est affiché avec modifications et la valeur 1 est retournée.
- [--] : Identifie les lignes propres au fichier de gauche (argument 1)
- {++} : Identifie les lignes propres au fichier de droite (argument 2)
Les lignes vides ne sont pas prises en compte dans le différentiel.
ex :
# wdiff file1.txt file2.txt Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. # echo $? 0
# wdiff file1.txt file3.txt [-Lorem ipsum dolor sit amet, consectetuer adipiscing elit.-]{+Nulla consequat massa quis enim.+} Aenean commodo ligula eget dolor. Aenean massa. {+Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.+} Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. # echo $? 1
Comparer deux fichiers ligne par ligne en supprimant les lignes communes
wdiff -3 filename1 filename2
ex :
# wdiff -3 file1.txt file3.txt
======================================================================
[-Lorem ipsum dolor sit amet, consectetuer adipiscing elit.-]{+Nulla consequat massa quis enim.+}
======================================================================
{+Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.+}
======================================================================
Comparer deux fichiers sans respecter la casse
wdiff -i filename1 filename2
Recourir à un pager pour l’affichage de longs fichiers
wdiff -a filename1 filename2
Le pager (généralement less) permet d’afficher le comparatif page par page, écran par écran ou ligne par ligne.
Cette commande utilise également des chaines termcap permettant d’identifier facilement les différences :
- texte souligné : Identifie les lignes propres au fichier de gauche (argument 1)
- texte en reverse video : Identifie les lignes propres au fichier de droite (argument 2)
ex :
# wdiff -a file1.txt file3.txt Lorem ipsum dolor sit amet, consectetuer adipiscing elit.Nulla consequat massa quis enim. Aenean commodo ligula eget dolor. Aenean massa. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. (END)
Recourir à des chaines termcap pour mettre en évidence les différences
wdiff -t filename1 filename2
- texte souligné : Identifie les lignes propres au fichier de gauche (argument 1)
- texte en reverse video : Identifie les lignes propres au fichier de droite (argument 2)
ex :
# wdiff -a file1.txt file3.txt Lorem ipsum dolor sit amet, consectetuer adipiscing elit.Nulla consequat massa quis enim. Aenean commodo ligula eget dolor. Aenean massa. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
Afficher des statistiques sur les différences entre les fichiers
wdiff -s filename1 filename2
ex :
# wdiff -s file1.txt file3.txt
[-Lorem ipsum dolor sit amet, consectetuer adipiscing elit.-]{+Nulla consequat massa quis enim.+}
Aenean commodo ligula eget dolor. Aenean massa.
{+Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.+}
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
file1.txt : 27 mots 19 70% identiques 0 0% effacé 8 30% remplacés
file3.txt : 34 mots 19 56% identiques 10 29% insérés 5 15% remplacés
Coloriser les différences
wdiff filename1 filename2 | colordiff
Cette commande nécessite l’installation du paquet colordiff fournissant la commande éponyme.
ex :
# wdiff file1.txt file3.txt | colordiff [-Lorem ipsum dolor sit amet, consectetuer adipiscing elit.-]{+Nulla consequat massa quis enim.+} Aenean commodo ligula eget dolor. Aenean massa. {+Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.+} Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.