Aperçu
diff -u compare le contenu de deux fichiers et affiche les différences au format unifié. Ce format montre les lignes modifiées ainsi que quelques lignes de contexte environnantes, permettant de comprendre facilement comment les modifications ont été apportées. C'est un outil essentiel, notamment pour la gestion du code source et le suivi des modifications des fichiers de configuration.
Caractéristiques principales
- Affichage des différences au format unifié
- Fournit le contexte des modifications
- Utile pour la revue de code et la gestion de versions
- Distingue clairement les ajouts, suppressions et modifications
Options principales
La commande diff offre diverses options, mais nous allons ici décrire celles couramment utilisées avec l'option `-u`.
Format de sortie
Comportement de comparaison
Commande générée :
Essayez de combiner les commandes.
Description:
`diff` Exécute la commande.
Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.
Exemples d'utilisation
Divers exemples d'utilisation de la commande diff -u.
Comparaison des différences entre deux fichiers au format unifié
diff -u file1.txt file2.txt
Affiche les différences entre file1.txt et file2.txt au format unifié.
Comparaison récursive des fichiers de deux répertoires
diff -ur dir1 dir2
Compare récursivement tous les fichiers dans les répertoires dir1 et dir2 et affiche le résultat au format unifié.
Comparaison de fichiers en ignorant les changements d'espaces blancs
diff -uw file1.txt file2.txt
Compare les fichiers en ignorant les changements d'espaces blancs (espaces, tabulations, etc.) et en ne considérant que les différences de contenu réelles.
Comparaison de fichiers en ignorant les lignes correspondant à un motif spécifique
diff -u -I '^#' config1.conf config2.conf
Compare les fichiers config1.conf et config2.conf en ignorant les lignes de commentaires (commençant par '#').
Sauvegarde de la sortie unifiée dans un fichier patch
diff -u old_file.txt new_file.txt > changes.patch
Affiche les différences entre deux fichiers au format unifié et enregistre le résultat dans le fichier 'changes.patch'. Ce fichier peut être appliqué avec la commande 'patch'.
Conseils et précautions
Conseils pour interpréter et utiliser efficacement la sortie de diff -u.
Interprétation de la sortie unifiée
La sortie de diff -u utilise les symboles suivants pour indiquer les modifications :
- --- (trois tirets) : Indique le chemin et l'horodatage du fichier d'origine (old).
- +++ (trois plus) : Indique le chemin et l'horodatage du nouveau fichier (new).
- @@ -OLD_START,OLD_COUNT +NEW_START,NEW_COUNT @@ : L'en-tête du 'chunk', indiquant le numéro de ligne et la plage de lignes où la modification s'est produite.
- - (un tiret) : Ligne présente uniquement dans le fichier d'origine, indiquant une ligne supprimée.
- + (un plus) : Ligne présente uniquement dans le nouveau fichier, indiquant une ligne ajoutée.
- (un espace) : Ligne présente dans les deux fichiers, indiquant une ligne de contexte inchangée.
Interaction avec la commande patch
La sortie générée par diff -u peut être utilisée comme entrée pour la commande `patch`. Cela permet d'appliquer facilement les modifications d'un fichier à un autre, ou de les annuler. Par exemple, après avoir créé un fichier patch avec la commande `diff -u old_file new_file > changes.patch`, vous pouvez appliquer les modifications de `changes.patch` à `old_file` pour le rendre identique à `new_file` en utilisant la commande `patch -p0 < changes.patch`.