diff
Textverarbeitung
Aufruf
diff -u [old] [new]Zeigt, was sich zwischen zwei Dateien geändert hat; das unified-Format -u erwarten patch und Code-Review, und bei Unterschieden ist der Exit-Code 1, was ein Skript mit set -e anhält.
Häufige Optionen
| Option | Bedeutung |
|---|---|
| -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 |
Beispiele
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).
Sie sind fürs Zusammenstecken mit Pipes gebaut. Drei verkettete Befehle sind meist kürzer als einer, der alles macht.
So liest man das
- Eckige Klammern [ ] markieren einen Teil, den man weglassen kann.
- Drei Punkte … heißen: mehrere sind erlaubt.
- Optionen achten auf Groß- und Kleinschreibung — bei manchen Befehlen sind -r und -R verschieden.
Häufige Fragen
Q. Was macht diff?
Zeigt, was sich zwischen zwei Dateien geändert hat; das unified-Format -u erwarten patch und Code-Review, und bei Unterschieden ist der Exit-Code 1, was ein Skript mit set -e anhält.
Q. Wie gibt man ihn ein?
diff -u [old] [new] — eckige Klammern markieren, was wegfallen darf.
Q. Wie viele Optionen lohnen sich?
Hier stehen 6; die vollständige Liste steht in man diff. Der Befehl gehört zu Textverarbeitung.
Verwandte Befehle
man-Seite: man diff