Outils pour utilisateurs

Outils du site


software:applications:diff

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
software:applications:diff [2021/02/01 21:51] – modification externe 127.0.0.1software:applications:diff [2022/10/04 13:30] (Version actuelle) yoann
Ligne 40: Ligne 40:
  
 ===== Formats de sortie ===== ===== Formats de sortie =====
 +
 +Lorsque **diff** est invoqué sans autre argument que les fichiers à comparer, il retourne les modifications à apporter pour passer du premier fichier au second:
 +
 +<code bash>
 +diff essai.txt essai2.txt
 +</code>
 +<file>
 +4c4
 +< 6KYnm0FuWSCUsGCM1l7Fy7uLw8nHjE
 +---
 +> .. La ligne 4 est modifiée  ..
 +</file>
 +Ici une seule modification doit être apportée. La modification est introduite par une ligne de contexte qui indique sa position et le type de modification à apporter ici **4c4** signifie que:
 +  * La ligne 4 du fichier essai.txt doit être modifiée (**c**) en la ligne 4 du fichier essai2.txt;
 +  * La ligne préfixée par '**<**' est la ligne du premier fichier (essai.txt) impactée par les changements;
 +  * La ligne préfixée par '**>**' est la ligne du second fichier (esssai2.txt) impactée par le changement
 +
 +
 +3 lettres peuvent être utilisées:
 +  * **a**((**a**dd)) pour un ajout;
 +  * **c**((**c**hange)) pour une modification;
 +  * **d**((**d**elete)) pour une suppression.
 +
 +===== Affichage du contexte =====
 +
 +La commande précédente n'affiche que les lignes à modifier. On peut utiliser l'argument **-c** pour afficher le contexte autour de chaque modification.
 +
 +<code bash>
 +diff -c essai.txt essai2.txt 
 +</code>
 +<file>
 +*** essai.txt   2022-10-04 12:25:40.247730412 +0200
 +--- essai2.txt  2022-10-04 14:17:54.477069684 +0200
 +***************
 +*** 1,7 ****
 +  DXzs9Oq60ULUMQILNo9XHH8WJWWx7E
 +  QtR3BldTq6Uy4hIwVRoPJCNQIA1UOd
 +  A8ECGIzM72FqPOwEq8gSgFFIoPhbBT
 +! 6KYnm0FuWSCUsGCM1l7Fy7uLw8nHjE
 +  fF2myE3iVSHpUZ5hImMFK4mPOVdag2
 +  ty0AD2q0GfPjAqK3QR6x7DOzRVIxTo
 +  rSoP7edVT8mVxKFydRO74EYNmliEQ0
 +--- 1,7 ----
 +  DXzs9Oq60ULUMQILNo9XHH8WJWWx7E
 +  QtR3BldTq6Uy4hIwVRoPJCNQIA1UOd
 +  A8ECGIzM72FqPOwEq8gSgFFIoPhbBT
 +! .. La ligne 4 est modifiée  ..
 +  fF2myE3iVSHpUZ5hImMFK4mPOVdag2
 +  ty0AD2q0GfPjAqK3QR6x7DOzRVIxTo
 +  rSoP7edVT8mVxKFydRO74EYNmliEQ0
 +</file>
 +
 +Par défaut le contexte affiche 3 lignes précédant la modification et 3 lignes la succédant. 
 +
 +  * **!** marque une ligne nécessitant une modification;
 +  * **-** marque une ligne du premier fichier supprimée dans le second;
 +  * **+** marque une ligne absente dans le premier fichier et ajoutée dans le second.
  
 ==== Affichage côte à côte ==== ==== Affichage côte à côte ====
 +
 +Pour les fichiers relativement petits l'option **-c** permet d'afficher le contenu des fichiers sur la sortie standard avec les indicateurs en préfixe des lignes non identiques:
 +
  
 L'option **-y** permet un affichage côte à côte des fichiers. Pour des fichiers courts avec peu de colonnes comme dans notre exemple la sortie est clairement lisible: L'option **-y** permet un affichage côte à côte des fichiers. Pour des fichiers courts avec peu de colonnes comme dans notre exemple la sortie est clairement lisible:
software/applications/diff.1612216289.txt.gz · Dernière modification : 2021/02/01 21:51 de 127.0.0.1