DIFF - Guides des comparaisons de fichiers
Procédure rapide : Comparaison de fichiers avec `diff`
Cette section présente les commandes rapides pour comparer des fichiers à l’aide de diff. Chaque commande est d’abord présentée avec une chaîne de texte à modifier pour l’adapter à vos besoins, suivie d’un exemple concret.
Comparaison côte-à-côte avec `diff`
Comparer deux fichiers côte à côte et supprimer les lignes communes :
diff --side-by-side --suppress-common-lines <FICHIER_A> <FICHIER_B>Exemple concret :
diff --side-by-side --suppress-common-lines FILEA.txt FILEB.txtRésultat d’exemple :
ligne différente A < | ligne différente B ligne spécifique à FILEA.txt < > ligne spécifique à FILEB.txt
Dans cet exemple, les lignes communes aux deux fichiers ne sont pas affichées. Les différences sont présentées côte à côte avec les lignes spécifiques à chaque fichier indiquées par < (FILEA) et > (FILEB).
Autres exemples de `diff` avec options
Comparer deux fichiers en ignorant les espaces blancs à la fin des lignes :
diff --ignore-trailing-space <FICHIER_A> <FICHIER_B>
Exemple concret :
diff --ignore-trailing-space FILEA.txt FILEB.txt
Cette commande ignore les différences liées aux espaces blancs présents à la fin des lignes, ce qui peut être utile si des lignes identiques présentent de légères variations dans les espaces blancs.
Comparer deux fichiers en montrant uniquement les différences sous forme de contexte :
diff --context=<N> <FICHIER_A> <FICHIER_B>
Exemple concret :
diff --context=3 FILEA.txt FILEB.txt
Résultat d’exemple :
*** FILEA.txt 2023-10-07 14:00:00.000000000 +0000 --- FILEB.txt 2023-10-07 14:00:00.000000000 +0000 *************** *** 5,7 **** ligne commune - ligne différente A ligne suivante --- 5,7 ---- ligne commune + ligne différente B ligne suivante
Dans cet exemple, diff affiche les trois lignes de contexte avant et après chaque différence. Cela permet de voir non seulement les lignes modifiées, mais aussi leur contexte.
Comparer récursivement deux répertoires pour identifier les différences entre les fichiers :
diff --recursive <RÉPERTOIRE_A> <RÉPERTOIRE_B>
Exemple concret :
diff --recursive DIR_A DIR_B
Cette commande compare les fichiers présents dans les deux répertoires, en affichant les différences pour chaque fichier correspondant trouvé dans les deux répertoires.
Comparer deux fichiers et produire un fichier de patch pour appliquer les différences :
diff -u <FICHIER_A> <FICHIER_B> > <PATCH_FILE>
Exemple concret :
diff -u FILEA.txt FILEB.txt > diff.patch
Résultat d’exemple :
--- FILEA.txt 2023-10-07 14:00:00.000000000 +0000 +++ FILEB.txt 2023-10-07 14:00:00.000000000 +0000 @@ -1,4 +1,4 @@ ligne commune -ligne différente A +ligne différente B ligne suivante
Dans cet exemple, diff génère un fichier de patch au format unifié (-u), qui peut ensuite être appliqué à FILEA.txt pour le synchroniser avec FILEB.txt à l’aide de la commande patch.
Meta
Auteur : Cbillet Date : 03/11/2024