Commandes Linux : wdiff

WDIFF

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.
Fermer le menu
%d blogueurs aiment cette page :