diff - compare les fichiers ligne par ligne
SYNOPSIS
diff [OPTION]... FICHIERS
DESCRIPTION
Compare les FICHIERS ligne par ligne.
Les arguments obligatoires pour les options longues sont également obligatoires pour les options courtes.
--normal
affiche une diff normale (par défaut)
-q, --brief
signale uniquement lorsque les fichiers diffèrent
-s, --report-identical-files
signale lorsque deux fichiers sont identiques
-c, -C NUM, --context[=NUM]
affiche NUM (par défaut 3) lignes de contexte copié
-u, -U NUM, --unified[=NUM]
affiche NUM (par défaut 3) lignes de contexte unifié
-e, --ed
affiche un script ed
-n, --rcs
affiche une diff au format RCS
-y, --side-by-side
affiche en deux colonnes
-W, --width=NUM
affiche au maximum NUM (par défaut 130) colonnes d'impression
--left-column
affiche uniquement la colonne de gauche des lignes communes
--suppress-common-lines
n'affiche pas les lignes communes
-p, --show-c-function
affiche la fonction C dans laquelle se trouve chaque modification
-F, --show-function-line=RE
affiche la ligne la plus récente correspondant à RE
--label LABEL
utilise LABEL au lieu du nom du fichier et de l'horodatage (peut être répété)
-t, --expand-tabs
remplace les tabulations par des espaces dans la sortie
-T, --initial-tab
aligne les tabulations en ajoutant une tabulation au début de chaque ligne
--tabsize=NUM
les tabulations s'arrêtent tous les NUM (par défaut 8) caractères
--suppress-blank-empty
supprime l'espace ou la tabulation avant les lignes de sortie vides
-l, --paginate
transmet la sortie à 'pr' pour la pagination
-r, --recursive
compare de manière récursive tous les sous-répertoires trouvés
--no-dereference
ne suit pas les liens symboliques
-N, --new-file
traite les fichiers absents comme des fichiers vides
--unidirectional-new-file
traite les premiers fichiers absents comme des fichiers vides
--ignore-file-name-case
ignore la casse lors de la comparaison des noms de fichiers
--no-ignore-file-name-case
tient compte de la casse lors de la comparaison des noms de fichiers
-x, --exclude=PAT
exclut les fichiers correspondant à PAT
-X, --exclude-from=FILE
exclut les fichiers correspondant à n'importe quel motif dans FILE
-S, --starting-file=FILE
commence avec FILE lors de la comparaison des répertoires
--from-file=FILE1
compare FILE1 avec tous les opérandes ; FILE1 peut être un répertoire
--to-file=FILE2
compare tous les opérandes avec FILE2 ; FILE2 peut être un répertoire
-i, --ignore-case
ignore les différences de casse dans le contenu des fichiers
-E, --ignore-tab-expansion
ignore les modifications dues à l'expansion des tabulations
-Z, --ignore-trailing-space
ignore les espaces en fin de ligne
-b, --ignore-space-change
ignore les modifications de la quantité d'espace blanc
-w, --ignore-all-space
ignore tout l'espace blanc
-B, --ignore-blank-lines
ignore les modifications où les lignes sont toutes vides
-I, --ignore-matching-lines=RE
ignore les modifications où toutes les lignes correspondent à RE
-a, --text
traite tous les fichiers comme des fichiers texte
--strip-trailing-cr
supprime le saut de ligne final sur l'entrée
-D, --ifdef=NAME
affiche le fichier fusionné avec les diffs '#ifdef NAME'
--GTYPE-group-format=GFMT
formate les groupes d'entrée GTYPE avec GFMT
--line-format=LFMT
formate toutes les lignes d'entrée avec LFMT
--LTYPE-line-format=LFMT
formate les lignes d'entrée LTYPE avec LFMT
Ces options de formatage offrent un contrôle précis sur la sortie de diff, généralisant -D/--ifdef.
LTYPE est 'old', 'new' ou 'unchanged'. GTYPE est LTYPE ou 'changed'.
GFMT (uniquement) peut contenir :
%< lignes de FILE1
%> lignes de FILE2
%= lignes communes à FILE1 et FILE2
%[-][WIDTH][.[PREC]]{doxX}LETTER
spécification de type printf pour LETTER
LETTER est le suivant pour le nouveau groupe, en minuscules pour l'ancien groupe :
F première ligne
L dernière ligne
N nombre de lignes = L-F+1
E F-1
M L+1
%(A=B?T:E)
si A est égal à B, alors T sinon E
LFMT (uniquement) peut contenir :
%L contenu de la ligne
%l contenu de la ligne, sans saut de ligne final
%[-][WIDTH][.[PREC]]{doxX}n
spécification de type printf pour le numéro de ligne d'entrée
GFMT et LFMT peuvent contenir :
%% %
%c'C' le caractère unique C
%c'\OOO'
le caractère avec le code octal OOO
C le caractère C (les autres caractères représentent eux-mêmes)
-d, --minimal
essaie de trouver un ensemble de modifications plus petit
--horizon-lines=NUM
conserve NUM lignes du préfixe et du suffixe communs
--speed-large-files
suppose des fichiers volumineux et de nombreuses petites modifications dispersées
--color[=WHEN]
couleur de la sortie ; WHEN est 'never', 'always' ou 'auto' ; --color sans argument signifie --color='auto'
--palette=PALETTE
les couleurs à utiliser lorsque --color est actif ; PALETTE est une liste de capacités terminfo séparées par des deux-points
--help affiche cette aide et quitte
-v, --version
affiche les informations de version et quitte
FILES est 'FILE1 FILE2' ou 'DIR1 DIR2' ou 'DIR FILE' ou 'FILE DIR'. Si --from-file ou --to-file est donné, il n'y a aucune restriction sur FILE(s). Si un FILE est '-', lit l'entrée standard. Le statut de sortie est 0 si les entrées sont identiques, 1 si différentes, 2 en cas de problème.
AUTEUR
Écrit par Paul Eggert, Mike Haertel, David Hayes, Richard Stallman et Len Tower.
SIGNALEMENT DE BUGS
Signalez les bogues à : _ Page d'accueil de GNU diffutils : [https://www.gnu.org/software/diffutils/] Aide générale sur l'utilisation des logiciels GNU : [https://www.gnu.org/gethelp/]
COPYRIGHT
Copyright © 2025 Free Software Foundation, Inc. Licence GPLv3+ : GNU GPL version 3 ou ultérieure [https://gnu.org/licenses/gpl.html]. Ceci est un logiciel libre : vous êtes libre de le modifier et de le redistribuer. Il n'y a AUCUNE GARANTIE, dans la mesure permise par la loi.
VOIR AUSSI
wdiff(1), cmp(1), diff3(1), sdiff(1), patch(1)
La documentation complète pour diff est maintenue sous forme de manuel Texinfo. Si les programmes info et diff sont correctement installés sur votre site, la commande
info diff
devrait vous donner accès au manuel complet.