diff3 — compare three files line by line
| Use Case | Command | Description |
|---|---|---|
| Merge three files with conflict markers | diff3 -m MYFILE OLDFILE YOURFILE | 📝 Output merged file, using -A style brackets for conflicts |
| Generate an ed script (differences from OLDFILE to YOURFILE) | diff3 -e MYFILE OLDFILE YOURFILE | ✂️ Produce ed commands to apply changes from OLDFILE to YOURFILE into MYFILE |
| Show only non-overlapping changes | diff3 -3 MYFILE OLDFILE YOURFILE | 🔍 Like -e but only incorporate nonoverlapping changes |
| Show only overlapping changes | diff3 -x MYFILE OLDFILE YOURFILE | ⚠️ Like -e but only incorporate overlapping changes |
| Force text mode | diff3 -a MYFILE OLDFILE YOURFILE | 📄 Treat all files as text |
diff3 [OPTION]... MYFILE OLDFILE YOURFILE
Compare three files line by line.
Mandatory arguments to long options are mandatory for short options too.
-A, --show-all — 🔍 output all changes, bracketing conflicts-e, --ed — ✂️ output ed script incorporating changes from OLDFILE to YOURFILE into MYFILE-E, --show-overlap — ⚠️ like -e, but bracket conflicts-3, --easy-only — 🟢 like -e, but incorporate only nonoverlapping changes-x, --overlap-only — 🔴 like -e, but incorporate only overlapping changes-X — 🔴 like -x, but bracket conflicts-i — 📝 append 'w' and 'q' commands to ed scripts-m, --merge — 🔄 output actual merged file, according to -A if no other options are given-a, --text — 📄 treat all files as text--strip-trailing-cr — 🧹 strip trailing carriage return on input-T, --initial-tab — 📏 make tabs line up by prepending a tab--diff-program=PROGRAM — 🛠️ use PROGRAM to compare files-L, --label=LABEL — 🏷️ use LABEL instead of file name (can be repeated up to three times)--help — ❓ display this help and exit-v, --version — ℹ️ output version information and exitThe default output format is a somewhat human-readable representation of the changes.
The -e, -E, -x, -X (and corresponding long) options cause an ed script to be output instead of the default.
Finally, the -m (--merge) option causes diff3 to do the merge internally and output the actual merged file. For unusual input, this is more robust than using ed.
If a FILE is '-', read standard input.
Written by Randy Smith.
Report bugs to: bug-diffutils AT gnu.org
GNU diffutils home page: <https://www.gnu.org/software/diffutils/>
General help using GNU software: <https://www.gnu.org/gethelp/>
Copyright © 2021 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
The full documentation for diff3 is maintained as a Texinfo manual. If the info and diff3 programs are properly installed at your site, the command
info diff3
should give you access to the complete manual.
diffutils 3.8 August 2021 DIFF3(1)
Generated by phpman v4.9.26-5-g7740029 · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-08-21 18:32 @216.73.217.134
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)