Comment utiliser les fichiers Diff sous Linux
Diff est un outil de ligne de commande pour les systèmes Unix qui vous permet de comparer deux fichiers ou répertoires et de voir les différences entre eux. C’est idéal pour comparer les anciennes et les nouvelles versions de fichiers pour voir ce qui a changé. Dans cet article, nous vous montrons comment diff
comparer facilement des fichiers sous Linux.
Comparer des fichiers avec diff
- Ouvrez une fenêtre de terminal.
- Tapez
diff
et les chemins d’accès aux deux fichiers que vous souhaitez comparer. Dans ce cas, je compare deux petits programmes C sur mon bureau en utilisant la commande suivante :
diff ~/Desktop/hello.c ~/Desktop/hello-1.c
- Appuyez sur Enterpour soumettre la commande. L’affichage résultant vous montrera toutes les différentes lignes entre les fichiers. Les numéros de ligne comparés seront affichés sous la forme « 1c1 », ce qui signifie que la première ligne a été modifiée et que les différences suivantes ont été trouvées.
- Pour voir une vue côte à côte des fichiers et de leurs différences, utilisez le
-y
drapeau aprèsdiff
. Par exemple:
diff -y ~/Desktop/hello.c ~/Desktop/hello-1.c
Toute ligne avec un symbole pipe ( |
) est une ligne avec une différence. Assurez-vous simplement de développer d’abord la fenêtre de votre terminal, sinon vous aurez peut-être du mal à voir l’affichage.
Comparer des fichiers avec Meld
La fonctionnalité de diff
peut également être accessible via Meld , une interface graphique pour diff
. Considérant que l’interface utilisateur de diff peut être difficile à maîtriser, Meld est un outil utile.
- Installez Meld à partir de la ligne de commande en ouvrant le terminal et en tapant :
sudo apt -y install meld
ou
sudo dnf -y install meld
pour les distributions basées sur RPM.
Cela initialisera le gestionnaire de paquets apt et commencera l’installation de Meld. Notez que le -y
drapeau dira automatiquement « oui » à toutes les invites ; veuillez le supprimer si vous préférez confirmer ces invites manuellement.
- Entrez votre mot de passe administrateur lorsque vous y êtes invité. Lorsque vous voyez à nouveau l’invite de commande, l’installation est terminée et Meld peut être ouvert.
- Lorsque vous ouvrez Meld, vous verrez trois options : Comparaison de fichiers, Comparaison de répertoires et Vue de contrôle de version. Cliquez sur « Fichier ».
- Deux menus déroulants apparaîtront, tous deux lisant « (Aucun) ». Cliquez sur l’un d’entre eux pour sélectionner un fichier à comparer.
- Cliquez sur l’autre menu déroulant pour sélectionner un deuxième fichier à comparer.
- Cliquez sur le bouton « Comparer ».
- La fenêtre suivante récapitule toutes les différences trouvées entre deux fichiers. Les caractères rouges sont des différences et le fond bleu indique qu’il y a une différence dans cette ligne. Un fond vert indique qu’une ligne existe dans un fichier mais pas dans l’autre.
- Pour naviguer entre les différences, cliquez sur les boutons haut et bas dans la barre de menus. Vous pouvez également cliquer directement dans le document avec votre souris.
Manipulation de fichiers dans Meld
En plus de faire des comparaisons, Meld vous permet de modifier les fichiers comparés. Meld continuera à analyser le document à la recherche de modifications au fur et à mesure que vous modifiez l’une ou l’autre version, et vous pouvez appuyer sur Ctrl+ Zà tout moment pour annuler les modifications.
- Pour copier les modifications d’un fichier à un autre, cliquez sur les petites flèches noires entre les modifications. Cliquer sur la flèche sur le côté gauche, par exemple, utilisera la ligne du document de gauche pour écraser le document de droite.
- Des lignes peuvent également être insérées dans des documents sans les écraser. Si vous maintenez la Ctrltouche enfoncée, vous verrez les flèches de la dernière étape se transformer en signes plus. Cliquez sur l’icône pour ouvrir une petite boîte de dialogue dans laquelle vous pouvez choisir où insérer une nouvelle ligne.
- Enfin, tapez directement dans votre document. Insérez simplement votre curseur comme vous le feriez normalement et commencez à taper.
- Une fois que vous avez terminé d’apporter des modifications, cliquez sur le bouton « Enregistrer » pour enregistrer vos fichiers.
Création de fichiers diff à l’aide de Meld et diff
En plus de montrer les différences entre deux fichiers, vous pouvez également utiliser Meld pour créer des « fichiers diff ». Ce sont de petits morceaux de texte qui contiennent des instructions sur la façon d’appliquer les modifications d’une version de fichier à une autre. Ceci est utile si vous souhaitez distribuer rapidement des mises à jour de code sans partager l’intégralité de l’archive source.
- Ouvrez les deux fichiers que vous souhaitez comparer.
- Cliquez sur le menu Options dans le coin supérieur droit de la fenêtre.
- Sélectionnez le sous-menu « Comparaison ».
- Cliquez sur la sous-option « Formater en tant que patch ».
- Cela ouvrira une petite fenêtre où Meld imprimera l’intégralité du fichier diff entre vos deux fichiers. À ce stade, vous pouvez soit copier ce texte dans votre presse-papiers, soit l’enregistrer dans un fichier. Pour ce faire, cliquez sur le bouton « Enregistrer le patch ».
Bien que la création de fichiers diff dans Meld soit simple et directe, il existe des cas où il peut ne pas être possible d’accéder à une interface graphique lors de l’édition de code. Pour cela, vous pouvez également utiliser le diff
programme pour générer un fichier diff.
- Ouvrez un terminal et vérifiez s’il y a des différences entre les deux fichiers :
diff hello.c hello-1.c
- Créez un fichier diff simple en utilisant l’
-c
indicateur :
diff -c hello.c hello-1.c > hello.diff
- En option, utilisez l’
-u
option qui combine les deux flux de texte en un seul bloc diff unifié. Cela peut être utile si vous modifiez beaucoup de code et souhaitez économiser de l’espace disque :
diff -u hello.c hello-1.c > hello.diff
Utilisation de fichiers diff pour patcher le code source
Comme indiqué ci-dessus, un fichier diff vous permet de créer un résumé facilement partageable des modifications apportées à votre code source. Cependant, diff lui-même ne peut pas les appliquer aux fichiers existants. Pour ce faire, utilisez le programme compagnon de diff, patch
.
- Déterminez le code source d’origine que le fichier diff tente de modifier :
cat hello.diff | sed 1q
- Créez une sauvegarde de votre code source d’origine :
cp hello.c hello.c.old
- Exécutez le programme patch avec le fichier d’origine sur le premier argument et le fichier diff sur le second :
patch hello.c hello.diff
Il est important de noter qu’un fichier diff peut également contenir des modifications qui s’étendent sur plusieurs fichiers. Appliquez ceci en plaçant tous les fichiers nécessaires à la mise à jour dans un seul répertoire et en exécutant patch < multi-file.diff
.
- Vérifiez si le programme correctif a réussi à mettre à jour votre fichier source en le comparant à votre sauvegarde :
diff -y hello.c hello.c.old
Pour votre information : Git est un puissant programme de contrôle de version multiplateforme. Découvrez comment vous pouvez l’utiliser pour gérer vos référentiels de code source sous Linux.
Questions fréquemment posées
Est-il possible de patcher un fichier plusieurs fois ?
Oui. Cependant, il est important de noter que la valeur du numéro de ligne dans un fichier diff est statique. Par exemple, appliquer un diff qui ajoute cinq lignes de code sur la ligne 1 ajustera le fichier entier de cinq lignes. Alors que les outils modernes peuvent compenser les changements à partir de différences uniques, en appliquer plusieurs peut créer des conflits de code inutiles.
Un fichier diff est-il similaire à un correctif Git ?
Oui. Diff et Git utilisent tous deux un type de format similaire pour leurs correctifs de code. Par conséquent, vous pouvez échanger les deux utilitaires lors de l’application de mises à jour à votre code source. Par exemple, courir git apply hello.diff
équivaut à courir patch < hello.diff
.
Pouvez-vous utiliser Meld avec un programme de contrôle de version tel que Git ?
Oui. L’une des fonctionnalités les plus puissantes de Meld est qu’il peut fonctionner de manière transparente avec n’importe quel programme de contrôle de version. Cela vous donne la possibilité d’interagir facilement avec vos référentiels en dehors de l’interface du terminal.
Pour cela, appuyez sur Ctrl+ N, puis cliquez sur le bouton « Vue de contrôle de version ». Ensuite, cliquez sur la liste déroulante en dessous et sélectionnez « Autre ». Cela fera apparaître une petite fenêtre où vous pourrez voir et charger votre référentiel Git.
Crédit image : Unsplash . Toutes les captures d’écran par Ramces Red.
Laisser un commentaire