Accueil·Commandes du terminal
Publicité

Obtenez votre bonus de plateforme crypto

Des bonus offerts à la simple inscription. Les conditions sont reprises telles quelles de chaque plateforme.

diff

Traitement de texte

Syntaxe

diff -u [old] [new]

Montre ce qui a changé entre deux fichiers ; le format unifié -u est celui qu'attendent patch et la revue de code, et le code de sortie vaut 1 en cas de différence, ce qui arrête un script sous set -e.

Options courantes

OptionSignification
-uUnified output, the format patch and code review expect
-rCompare two directory trees
-qOnly say whether the files differ
-wIgnore all whitespace
-iIgnore case
-NTreat a missing file as empty, which patches need

Exemples

diff -u old.conf new.conf > fix.patch

Writes a patch file.

diff -rq dirA dirB

Lists which files differ between two trees.

diff <(sort a.txt) <(sort b.txt)

Compares two files ignoring line order (bash).

Ils sont faits pour être chaînés avec des tubes. Trois commandes reliées sont souvent plus courtes qu’une seule qui fait tout.

Comment lire

  • Les crochets [ ] marquent une partie facultative.
  • Les points de suspension … signifient qu’on peut en mettre plusieurs.
  • Les options sont sensibles à la casse : sur certaines commandes, -r et -R ne font pas la même chose.

Questions fréquentes

QQue fait diff ?

Montre ce qui a changé entre deux fichiers ; le format unifié -u est celui qu'attendent patch et la revue de code, et le code de sortie vaut 1 en cas de différence, ce qui arrête un script sous set -e.

QComment l’écrire ?

diff -u [old] [new] — les crochets marquent ce qui est facultatif.

QCombien d’options valent la peine ?

Il y en a 6 ici ; la liste complète est dans man diff. Cette commande relève de Traitement de texte.

Commandes liées

page man: man diff