1. NOM

diff - Comparer des fichiers ligne à ligne

2. SYNOPSIS

diff [option] ... fichiers

3. DESCRIPTION

Comparer les fichiers ligne à ligne.

Les paramètres obligatoires aux options longues sont aussi obligatoires aux options courtes.

  • --normal
        Afficher les différences au format normal (par défaut).
  • -q, --brief
        Indiquer seulement si les fichiers diffèrent.
  • -s, --report-identical-files
        Indiquer lorsque deux fichiers sont identiques.
  • -c, -C n, --context[=n]
        Afficher n lignes de contexte (3 lignes par défaut).
  • -u, -U n, --unified[=n]
        Afficher n lignes de contexte unifié (3 lignes par défaut).
  • -e, --ed
        Sortir un script « ed » valide.
  • -n, --rcs
        Afficher les différences au format RCS.
  • -y, --side-by-side
        Afficher en deux colonnes.
  • -W, --width=n
        Afficher au plus n caractères par ligne (130 par défaut).
  • --left-column
        N'afficher que la colonne de gauche des lignes communes.
  • --suppress-common-lines
        Ne pas afficher les lignes communes.
  • -p, --show-c-function
        Indiquer dans quelle fonction C se trouve chaque changement.
  • -F, --show-function-line=er
        Afficher la ligne la plus récente correspondant à l'expression rationnelle er.
  • --label étiquette
        Utiliser étiquette au lieu du nom de fichier (peut être répété).
  • -t, --expand-tabs
        Transformer les tabulations en espaces en sortie.
  • -T, --initial-tab
        Afficher une tabulation plutôt qu'une espace avant le texte.
  • --tabsize=n
        Les tabulations s'arrêtent toutes les n (8 par défaut) colonnes.
  • --suppress-blank-empty
        Supprimer les espaces ou tabulations avant les lignes de sorties vides.
  • -l, --paginate
        Envoyer la sortie à « pr » pour la paginer.
  • -r, --recursive
        Comparer récursivement tous les sous-répertoires trouvés.
  • -N, --new-file
        Considérer les fichiers absents comme des fichiers vides.
  • --unidirectional-new-file
        Considérer les premiers fichiers manquants comme des fichiers vides.
  • --ignore-file-name-case
        Ignorer les différences entre majuscules et minuscules pour la comparaison des noms de fichier.
  • --no-ignore-file-name-case
        Tenir compte des différences entre majuscules et minuscules pour la comparaison des noms de fichier.
  • -x, --exclude=motif
        Ignorer les fichiers qui correspondent au motif.
  • -X, --exclude-from=fichier
        Ignorer les fichiers qui contiennent n'importe quel motif de fichier.
  • -S, --starting-file=fichier
        Commencer par fichier lors de la comparaison de répertoires.
  • --from-file=fichier1
        Comparer fichier1 à tous les paramètres. fichier1 peut être un répertoire.
  • --to-file=fichier2
        Comparer fichier2 à tous les paramètres. fichier2 peut être un répertoire.
  • -i, --ignore-case
        Ignorer les différences entre majuscules et minuscules.
  • -E, --ignore-tab-expansion
        Ne pas tenir compte du développement des tabulations.
  • -b, --ignore-space-change
        Ne pas tenir compte du nombre d'espaces blancs.
  • -w, --ignore-all-space
        Ne tenir compte d'aucun espace blanc.
  • -B, --ignore-blank-lines
        Ne pas tenir compte des lignes vides.
  • -I, --ignore-matching-lines=er
        Ne pas tenir compte des changements sur les lignes qui correspondent à l'expression rationnelle er.
  • -a, --text
        Traiter tous les fichiers comme du texte.
  • --strip-trailing-cr
        Ignorer les retours à la ligne sur l'entrée standard.
  • -D, --ifdef=nom
        Afficher un fichier fusionné pour montrer les différences sous la forme « #ifdef nom ».
  • --GTYPE-group-format=GFMT
        Similaire, mais afficher toutes les groupes GTYPE en entrée au format GFMT.
  • --line-format=LFMT
        Afficher toutes les lignes en entrée au format LFMT.
  • --LTYPE-line-format=LFMT
        Afficher toutes les lignes LTYPE en entrée au format LFMT.

Ces options de format fournissent un contrôle fin de la sortie de diff, généralisant -D, --ifdef.

  • Les valeurs possibles de LTYPE sont : old, new ou unchanged.
        Les valeurs possibles de GTYPE sont : LTYPE ou changed.

GFMT (seul) peut contenir :

  • %<
        pour marquer les lignes de fichier1 ;
  • %>
        pour marquer les lignes de fichier2 ;
  • %=
        pour marquer les lignes communes à fichier1 et à fichier2 ;
  • %[-][LARGEUR][.[PRÉC]]{doxX}lettre
        spécification de type printf pour lettre.

Les lettres sont comme suit pour le nouveau groupe, et en minuscules pour l'ancien groupe :

  • F
        numéro de la première ligne ;
  • L
        numéro de la 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 et sinon E.

LFMT (seul) peut contenir :

  • %L
        contenu de la ligne ;
  • %l
        contenu de la ligne, sans les retours à la ligne ;
  • %[-][LARGEUR][.[PRÉC]]{doxX}n
        spécifications de type printf pour le numéro de ligne d'entrée.

GFMT et LFMT peuvent tous deux contenir :

  • %%
        %
  • %c'C'
        l'unique caractère C ;
  • %c'\OOO'
        le caractère dont le code octal est OOO ;
  • C
        le caractère C (les autres caractères se représentent eux-mêmes).
  • -d, --minimal
        Essayer de trouver un ensemble de changements minimal.
  • --horizon-lines=n
        Utiliser n lignes pour le préfixe et le suffixe commun.
  • --speed-large-files
        Supposer que les fichiers sont de grande taille et contiennent de nombreux petits changements dispersés.
  • --help
        Afficher l'aide et quitter.
  • -v, --version
        Afficher les informations de version et quitter.

Les fichiers sont « fichier1 fichier2 », « répertoire1 répertoire2 », « répertoire fichier... », « fichier...répertoire ». Avec les options --from-file ou --to-file, il n'y a aucune restriction sur les fichiers. Si un fichier vaut -, l'entrée standard est lue. Le code de retour vaut 0 si les entrées sont identiques, 1 si elles diffèrent, et 2 en cas de problème.

4. AUTEUR

Écrit par Paul Eggert, Mike Haertel, David Hayes, Richard Stallman et Len Tower.

5. SIGNALER LES BOGUES

Signalez toute anomalie à <>.
Page d'accueil de GNU diffutils : <URL:http://www.gnu.org/software/diffutils/>.
Aide globale pour l'utilisation de logiciels GNU : <URL:http://www.gnu.org/gethelp/>

6. COPYRIGHT

Copyright © 2011 Free Software Foundation, Inc. Licence GPLv3+ : la licence GPL GNU version 3 ou ultérieure <URL:http://gnu.org/licenses/gpl.html>.
Ce programme est un logiciel libre. Vous pouvez le modifier et le redistribuer. Il n'y a AUCUNE GARANTIE dans la mesure autorisée par la loi.

7. VOIR AUSSI

wdiff(1), cmp(1), diff3(1), sdiff(1), patch(1)

La documentation complète de diff est disponible dans un manuel Texinfo. Si les programmes info et diff sont correctement installés, la commande

info diff

devrait vous donner accès au manuel complet (en anglais).

8. TRADUCTION

Cette page de manuel a été traduite par Christophe Blaess entre 1999 et 2003. La version présente dans Debian est maintenue par Jade Alglave <jade DOT alglave AT ens-lyon DOT fr> et les membres de la liste <debian-l10n-french AT lists DOT debian DOT org>. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages-fr-extra.