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
| Option | Signification |
|---|---|
| -u | Unified output, the format patch and code review expect |
| -r | Compare two directory trees |
| -q | Only say whether the files differ |
| -w | Ignore all whitespace |
| -i | Ignore case |
| -N | Treat a missing file as empty, which patches need |
Exemples
diff -u old.conf new.conf > fix.patchWrites a patch file.
diff -rq dirA dirBLists 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
Q. Que 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.
Q. Comment l’écrire ?
diff -u [old] [new] — les crochets marquent ce qui est facultatif.
Q. Combien 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