UNIX/LINUX Command – merge

March 2, 2019



merge—Three-way file merge


merge [ options ] file1 file2 file3


merge incorporates all changes that lead from file2 to file3 into file1. The result ordinarily goes into file1. merge is useful for combining separate changes to an original. Suppose file2 is the original, and both file1 and file3 are modifications of file2. Then merge combines both changes.

A conflict occurs if both file1 and file3 have changes in a common segment of lines. If a conflict is found, merge normally outputs a warning and brackets the conflict with <<<<<<< and >>>>>>> lines. A typical conflict will look like this:

<<<<<<< file A
lines in file A
lines in file B
>>>>>>> file B

If there are conflicts, the user should edit the result and delete one of the alternatives.


Options Description
–A Output conflicts using the –A style of diff3(1), if supported by diff3. This merges all changes leading from file2 to file3 into file1, and generates the most verbose output.
–E, –e These options specify conflict styles that generate less information than –A. See diff3(1) for details. The default is –E. With –e, merge does not warn about conflicts.
–L label This option may be given up to three times, and specifies labels to be used in place of the corresponding filenames in conflict reports. That is, merge–Lx–L y –Lz a b c generates output that looks like it came from files x, y, and z instead of from files a, b, and c.
–p Send results to standard output instead of overwriting file1.
–q Quiet; do not warn about conflicts.
–V Print RCS’s version number.


Exit status is 0 for no conflicts, 1 for some conflicts, 2 for trouble.

Satish Kumar

Satish Kumar

I am Satish Kumar, Founder of LinuxConcept. Linux and F.O.S.S enthusiast, love to work on open source platform and technologies.

Related Posts

UNIX/LINUX Command – rsync

UNIX/LINUX Command – rsync

NAME rsync – a fast, versatile, remote (and local) file-copying tool rsync Command SYNOPSIS Local: rsync [OPTION…] SRC… [DEST] Access via remote shell:Pull: rsync [OPTION…] [USER@]HOST:SRC… [DEST]Push: rsync [OPTION…] SRC… [USER@]HOST:DEST Access via rsync...

UNIX/LINUX Command – strip

UNIX/LINUX Command – strip

NAME strip—Discard symbols from object files. SYNOPSIS strip [ -Fbfdname|–target=bfdname ] [ -Ibfdname|–input-target=bfdname ] [ -Obfdname|–output-target=bfdname ] [-Rsectionname|–remove-section=sectionname ] [ -s|–strip-all ] [-S|-g|–strip-debug ][-x|–discard-all...

UNIX/LINUX Command – expand

UNIX/LINUX Command – expand

NAME expand—Convert tabs to spaces SYNOPSIS expand [–tab1[,tab2[,…]]] [–t tab1[,tab2[,…]]] [–i] [—tabs=tab1[,tab2[,…]]] [–initial] [–help] [–version] [file…] DESCRIPTION This manual page documents the GNU version of expand. expand writes the contents of each given...



Submit a Comment

Your email address will not be published. Required fields are marked *

5 × three =

News & Updates

Join Our Newsletter