728x90 AdSpace

Sunday, 20 August 2017

Diff Linux Command

diff


diff [options] [diroptions] file1 file2

Compare two text files. diff reports lines that differ between file1 and file2. Output consists of lines of context from each file, with file1 text flagged by a < symbol and file2 text by a > symbol. Context lines are preceded by the ed command (a, c, or d) that would be used to convert file1 to file2. If one of the files is -, standard input is read. If one of the files is a directory, diff locates the filename in that directory corresponding to the other argument (e.g., diff my_dir junk is the same as diff my_dir/junk junk). If both arguments are directories, diff reports lines that differ between all pairs of files having equivalent names (e.g., olddir/program and newdir/program); in addition, diff lists filenames unique to one directory, as well as subdirectories common to both. See also cmp.

Options


-a, --text
Treat all files as text files. Useful for checking to see if binary files are identical.

-b, --ignore-space-change
Ignore repeating blanks and end-of-line blanks; treat successive blanks as one.

-B, --ignore-blank-lines
Ignore blank lines in files.

-c
Context diff: print 3 lines surrounding each changed line.

-C n, --context[=n]
Context diff: print n lines surrounding each changed line. The default context is 3 lines.

-d, --minimal
To speed up comparison, ignore segments of numerous changes and output a smaller set of changes.

-D symbol, --ifdef=symbol
When handling C files, create an output file that contains all the contents of both input files, including #ifdef and #ifndef directives that reflect the directives in both files.

-e, --ed
Produce a script of commands (a, c, d) to re-create file2 from file1 using the ed editor.

-F regexp, --show-function-line[=regexp]
For context and unified diff, show the most recent line containing regexp before each block of changed lines.

-H
Speed output of large files by scanning for scattered small changes; long stretches with many changes may not show up.

--help
Print brief usage message.

--horizon-lines=n
In an attempt to find a more compact listing, keep n lines on both sides of the changed lines when performing the comparison.

-i, --ignore-case
Ignore case in text comparison. Uppercase and lowercase are considered the same.

-I regexp, --ignore-matching-lines=regexp
Ignore lines in files that match the regular expression regexp.

-l, --paginate
Paginate output by passing it to pr.

-L label, --label label, --label=label
For context and unified diff, print label in place of the filename being compared. The first such option applies to the first filename and the second option to the second filename.

--left-column
For two-column output (-y), show only left column of common lines.

-n, --rcs
Produce output in RCS diff format.

-N, --new-file
Treat nonexistent files as empty.

-p, --show-c-function
When handling files in C or C-like languages such as Java, show the function containing each block of changed lines. Assumes -c, but can also be used with a unified diff.

-P, --unidirectional-new-file
If two directories are being compared and the first lacks a file that is in the second, pretend that an empty file of that name exists in the first directory.

-q, --brief
Output only whether files differ.

-r, --recursive
Compare subdirectories recursively.

-s, --report-identical-files
Indicate when files do not differ.

-S filename, --starting-file=filename
For directory comparisons, begin with the file filename, skipping files that come earlier in the standard list order.

--suppress-common-lines
For two-column output (-y), do not show common lines.

-t, --expand-tabs
Produce output with tabs expanded to spaces.

-T, --initial-tab
Insert initial tabs into output to line up tabs properly.

-u
Unified diff: print old and new versions of lines in a single block, with 3 lines surrounding each block of changed lines.

-U n, --unified[=n]
Unified diff: print old and new versions of lines in a single block, with n lines surrounding each block of changed lines. The default context is 3 lines.

-v, --version
Print version number of this version of diff.

-w, --ignore-all-space
Ignore all whitespace in files for comparisons.

-W n, --width=n
For two-column output (-y), produce columns with a maximum width of n characters. Default is 130.

-x regexp, --exclude=regexp
Do not compare files in a directory whose names match regexp.

-X filename, --exclude-from=filename
Do not compare files in a directory whose names match patterns described in the file filename.

-y, --side-by-side
Produce two-column output.

-n
For context and unified diff, print n lines of context. Same as specifying a number with -C or -U.
Annamalai Thangaraj

Annamalai is working as Technical Lead in Leading Telecom company with 5+ years experience in Identity and Access Management , Telecom and Networks, BigData, Java, Spring, Struts, Hibernate, AngularJS, and Enterprise Web Application Development.

Website: Java Tutorials Corner

Shop and help us

Flipkart Offer Snapdeal offer Amazon.in offer Amazon.com offer
  • Blogger Comments
  • Facebook Comments
  • Disqus Comments

0 comments:

Post a Comment

Item Reviewed: Diff Linux Command Rating: 5 Reviewed By: Annamalai Thangaraj