Recherche de site Web

10 meilleurs outils de comparaison et de différence (Diff) de fichiers sous Linux


Lors de l'écriture de fichiers programme ou de fichiers texte normaux, les programmeurs et les rédacteurs souhaitent parfois connaître la différence entre deux fichiers ou deux versions du même fichier.

Lorsque vous comparez deux fichiers informatiques sous Linux, la différence entre leur contenu est appelée un diff. Cette description est née d'une référence à la sortie de diff, l'utilitaire de comparaison de fichiers en ligne de commande Unix bien connu.

Il existe plusieurs outils de comparaison de fichiers que vous pouvez utiliser sous Linux, et dans cette revue, nous examinerons certains des meilleurs outils de comparaison basés sur un terminal et une interface graphique dont vous pouvez profiter lors de l'écriture de code ou d'autres fichiers texte.

1. commande diff

J'aime commencer avec l'outil de ligne de commande Unix original qui vous montre la différence entre deux fichiers informatiques. Diff est simple et facile à utiliser, il est préinstallé sur la plupart des distributions Linux, il compare les fichiers ligne par ligne et affiche la différence entre eux.

Pour comparer deux fichiers et afficher les différences.

diff file1.txt file2.txt

Vous pouvez consulter l'entrée manuelle de diff pour l'utiliser facilement.

man diff

Il existe certains wrappers pour l'outil diff qui améliorent ses fonctionnalités, notamment :

Commande colordiff

Colordiff est un script Perl qui produit le même résultat que diff, mais avec une coloration et une coloration syntaxique. Il propose des palettes de couleurs personnalisables.

Vous pouvez installer Colordiff sur vos systèmes Linux, à l'aide des outils de gestion de packages par défaut appelés yum, dnf et apt-get ou apt, comme indiqué.

sudo apt install colordiff         [On Debian, Ubuntu and Mint]
sudo yum install colordiff         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/colordiff  [On Gentoo Linux]
sudo apk add colordiff             [On Alpine Linux]
sudo pacman -S colordiff           [On Arch Linux]
sudo zypper install colordiff      [On OpenSUSE]    

Pour comparer des répertoires de manière récursive.

colordiff file1.txt file2.txt

Vous pouvez consulter l'entrée manuelle pour colordiff comme indiqué.

man colordiff

Commande wdiff

L'utilitaire wdiff est une interface frontale pour la commande diff utilisée pour comparer des fichiers mot par mot. Ce programme est très utile pour comparer deux textes pour les mots modifiés et pour lesquels les paragraphes ont été remplis.

Pour installer wdiff sur vos systèmes Linux, exécutez :

sudo apt install wdiff         [On Debian, Ubuntu and Mint]
sudo yum install wdiff         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/wdiff  [On Gentoo Linux]
sudo apk add wdiff             [On Alpine Linux]
sudo pacman -S wdiff           [On Arch Linux]
sudo zypper install wdiff      [On OpenSUSE]    

Pour afficher les deux fichiers côte à côte, en mettant en évidence les différences au niveau des mots.

wdiff file1.txt file2.txt

Utilisez le manuel wdiff pour savoir comment l'utiliser sous Linux.

man wdiff

2. Commande Vimdiff

Vimdiff fonctionne de manière avancée par rapport à l'utilitaire diff, qui permet à un utilisateur de modifier jusqu'à quatre versions d'un fichier tout en affichant leurs différences. Lorsque vous l'exécutez, Vimdiff ouvre deux, trois ou quatre fichiers à l'aide de l'éditeur de texte Vim.

Pour utiliser vimdiff, vous devez avoir Vim installé sur votre système, mais s'il n'est pas installé, vous pouvez l'installer à l'aide de votre gestionnaire de packages.

sudo apt install vim         [On Debian, Ubuntu and Mint]
sudo yum install vim         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/vim  [On Gentoo Linux]
sudo apk add vim             [On Alpine Linux]
sudo pacman -S vim           [On Arch Linux]
sudo zypper install vim      [On OpenSUSE]    

Pour comparer deux fichiers à l'aide de vimdiff, vous devez exécuter la commande suivante.

vimdiff file1.txt file2.txt

Vous pouvez également utiliser vimdiff pour comparer trois fichiers.

vimdiff file1.txt file2.txt file3.txt

Pour des informations plus détaillées et des options d'utilisation, vous pouvez accéder à la page de manuel en exécutant.

man vimdiff

3. sdiff

La commande sdiff permet de comparer deux fichiers côte à côte, en mettant en évidence les différences entre eux. Il affiche le contenu des deux fichiers dans des colonnes séparées, avec des lignes ajoutées préfixées par ">", des lignes supprimées préfixées par "<" et des lignes communes affichées sans aucun préfixe. .

La commande sdiff est généralement fournie avec l'installation standard de la plupart des distributions Linux. Cependant, s'il n'est pas installé, vous pouvez l'installer à l'aide de votre gestionnaire de packages.

sudo apt install diffutils         [On Debian, Ubuntu and Mint]
sudo yum install diffutils         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/diffutils  [On Gentoo Linux]
sudo apk add diffutils             [On Alpine Linux]
sudo pacman -S diffutils           [On Arch Linux]
sudo zypper install diffutils      [On OpenSUSE]    

Pour comparer deux fichiers et afficher les différences côte à côte.

sdiff file1.txt file2.txt

Après avoir examiné les outils diff de la vieille école, passons rapidement à certains outils GUI diff disponibles sous Linux.

4. Comparer

Kompare est un outil graphique de comparaison et de fusion qui permet aux utilisateurs de comparer et d'afficher les différences entre les fichiers, ainsi que de les fusionner.

Pour installer Kompare sur les distributions Linux, vous pouvez utiliser le gestionnaire de packages spécifique à votre système.

sudo apt install kompare         [On Debian, Ubuntu and Mint]
sudo yum install kompare         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/kompare  [On Gentoo Linux]
sudo apk add kompare             [On Alpine Linux]
sudo pacman -S kompare           [On Arch Linux]
sudo zypper install kompare      [On OpenSUSE]    

Certaines de ses fonctionnalités incluent :

  • Prend en charge plusieurs formats de comparaison
  • Prend en charge la comparaison des répertoires
  • Prend en charge la lecture des fichiers diff
  • Interface personnalisable
  • Création et application de correctifs aux fichiers sources

5. Fusion différentielle

DiffMerge est une application GUI multiplateforme permettant de comparer et de fusionner des fichiers. Il dispose de deux moteurs de fonctionnalités, le moteur Diff qui montre la différence entre deux fichiers et prend en charge la mise en surbrillance et l'édition intra-ligne, et un moteur Fusion qui affiche les lignes modifiées entre trois fichiers.

Il possède les fonctionnalités suivantes :

  • Prend en charge la comparaison de répertoires
  • Intégration du navigateur de fichiers
  • Hautement configurable

6. Fusionner – Outil de comparaison

Meld est un outil léger de comparaison et de fusion à interface graphique, qui permet aux utilisateurs de comparer des fichiers, des répertoires ainsi que des programmes dont la version est contrôlée. Conçu spécifiquement pour les développeurs, il est doté des fonctionnalités suivantes :

  • Comparaison bidirectionnelle et tridirectionnelle de fichiers et de répertoires
  • Mise à jour de la comparaison de fichiers à mesure qu'un utilisateur tape plus de mots
  • Facilite les fusions en utilisant le mode de fusion automatique et les actions sur les blocs modifiés
  • Comparaisons faciles à l'aide de visualisations
  • Prend en charge Git, Mercurial, Subversion, Bazaar et bien d'autres

Pour installer Meld sur Linux, vous pouvez utiliser votre gestionnaire de packages pour l'installer à partir des référentiels officiels.

sudo apt install meld         [On Debian, Ubuntu and Mint]
sudo yum install meld         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/meld  [On Gentoo Linux]
sudo apk add meld             [On Alpine Linux]
sudo pacman -S meld           [On Arch Linux]
sudo zypper install meld      [On OpenSUSE]    

7. Diffuse – Outil de comparaison GUI

Diffuse est un autre outil de comparaison et de fusion d'interface graphique populaire, gratuit, petit et simple que vous pouvez utiliser sous Linux. Écrit en Python, il offre deux fonctionnalités principales, à savoir : la comparaison de fichiers et le contrôle de version, permettant l'édition et la fusion de fichiers, et également l'affichage de la différence entre les fichiers.

Pour installer Diffuse sur Linux, vous pouvez utiliser votre gestionnaire de packages comme indiqué.

sudo apt install diffuse         [On Debian, Ubuntu and Mint]
sudo yum install diffuse         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/diffuse  [On Gentoo Linux]
sudo apk add diffuse             [On Alpine Linux]
sudo pacman -S diffuse           [On Arch Linux]
sudo zypper install diffuse      [On OpenSUSE]    

Vous pouvez afficher un résumé de comparaison, sélectionner des lignes de texte dans des fichiers à l'aide du pointeur de la souris, faire correspondre des lignes dans des fichiers adjacents et modifier différents fichiers.

Les autres fonctionnalités incluent :

  • Mise en évidence de la syntaxe
  • Raccourcis clavier pour une navigation facile
  • Prend en charge l'annulation illimitée
  • Prise en charge d'Unicode
  • Prend en charge Git, CVS, Darcs, Mercurial, RCS, Subversion, SVK et Monotone

8. XXdiff – Outil de comparaison et de fusion

XXdiff est un comparateur et un outil de fusion de fichiers et de répertoires gratuit et puissant qui fonctionne sur les systèmes d'exploitation de type Unix tels que Linux, Solaris, HP/UX, IRIX et DEC Tru64. Une limitation de XXdiff est son manque de prise en charge des fichiers Unicode et de l'édition en ligne des fichiers diff.

Il possède la liste de fonctionnalités suivante :

  • Comparaison superficielle et récursive de deux, trois fichiers ou deux répertoires
  • Mise en évidence des différences horizontales
  • Fusion interactive de fichiers et sauvegarde du résultat résultant
  • Prend en charge les révisions/polices de fusion
  • Prend en charge les outils de comparaison externes tels que GNU diff, SIG diff, Cleareddiff et bien d'autres
  • Extensible à l'aide de scripts
  • Entièrement personnalisable à l'aide de fichiers de ressources ainsi que de nombreuses autres fonctionnalités mineures

9. KDiff3 – – Outil de comparaison et de fusion

KDiff3 est encore un autre outil de comparaison et de fusion multiplateforme sympa créé à partir de KDevelop, qui fonctionne sur toutes les plates-formes de type Unix, y compris Linux et Mac OS X, Windows.

Pour installer KDiff3 sur Linux, vous pouvez utiliser votre gestionnaire de packages comme indiqué.

sudo apt install kdiff3         [On Debian, Ubuntu and Mint]
sudo yum install kdiff3         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/kdiff3  [On Gentoo Linux]
sudo apk add kdiff3             [On Alpine Linux]
sudo pacman -S kdiff3           [On Arch Linux]
sudo zypper install kdiff3      [On OpenSUSE]    

Il peut comparer ou fusionner deux à trois fichiers ou répertoires et possède les fonctionnalités notables suivantes :

  • Indique les différences ligne par ligne et caractère par caractère
  • Prend en charge la fusion automatique
  • Éditeur intégré pour gérer les conflits de fusion
  • Prend en charge Unicode, UTF-8 et de nombreux autres codecs
  • Permet l'impression des différences
  • Prise en charge de l'intégration de l'Explorateur Windows
  • Prend également en charge la détection automatique via la marque d'ordre d'octet « BOM »
  • Prend en charge l'alignement manuel des lignes
  • Interface graphique intuitive et bien d'autres

10. TkDiff

TkDiff est également un wrapper GUI multiplateforme et facile à utiliser pour l'outil de comparaison Unix, qui fournit une vue côte à côte des différences entre deux fichiers d'entrée. Il peut fonctionner sous Linux, Windows et Mac OS X.

De plus, il possède d'autres fonctionnalités intéressantes, notamment des signets de différences, une carte graphique des différences pour une navigation facile et rapide et bien d'autres encore.

Pour installer TkDiff sur Linux, vous pouvez utiliser votre gestionnaire de packages comme indiqué.

sudo apt install tkdiff         [On Debian, Ubuntu and Mint]
sudo yum install tkdiff         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/tkdiff  [On Gentoo Linux]
sudo apk add tkdiff             [On Alpine Linux]
sudo pacman -S tkdiff           [On Arch Linux]
sudo zypper install tkdiff      [On OpenSUSE]    
Conclusion

Après avoir lu cette revue de certains des meilleurs outils de comparaison et de fusion de fichiers et de répertoires, vous voudrez probablement en essayer certains.

Ce ne sont peut-être pas les seuls outils de comparaison disponibles sur Linux, mais ils sont connus pour offrir certaines des meilleures fonctionnalités. Vous pouvez également nous faire part de tout autre outil de comparaison que vous avez testé et que vous pensez mériter. être mentionné parmi les meilleurs.