diff man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

DIFF(1)								       DIFF(1)

NAME
       diff - compare two files

SYNOPSIS
       diff [-bitw] [-c | -e | -f | -h | -n | -u] file1 file2

       diff [-bitw] [-C number | -U number] file1 file2

       diff [-bitw] [-D string] file1 file2

       diff [-bitw] [-c | -e | -f | -h | -n | -u] [-l] [-r] [-s]
	    [-S name] directory1 directory2

DESCRIPTION
       The diff utility will compare the contents of file1 and file2 and write
       to standard output a list of changes necessary to  convert  file1  into
       file2.  This list should be minimal. Except in rare circumstances, diff
       finds a smallest sufficient set of file differences. No output will  be
       produced if the files are identical.

       The normal output contains lines of these forms:

	 n1 a n3,n4
	 n1,n2 d n3
	 n1,n2 c n3,n4

       where  n1 and n2 represent lines file1 and n3 and n4 represent lines in
       file2 These lines resemble ed(1) commands to convert file1 to file2. By
       exchanging  a  for  d  and  reading backward, file2 can be converted to
       file1. As in ed, identical pairs, where n1=n2 or n3=n4, are abbreviated
       as a single number.

       Following  each	of these lines come all the lines that are affected in
       the first file flagged by `<', then all the lines that are affected  in
       the second file flagged by `>'.

OPTIONS
       The following options are supported:

       -b
	      Ignores  trailing	 blanks	 (spaces  and  tabs)  and treats other
	      strings of blanks as equivalent.

       -i
	      Ignores the case of letters. For example, `A' will compare equal
	      to `a'.

       -t
	      Expands TAB characters in output lines. Normal or -c output adds
	      character(s) to the front of each line that may adversely affect
	      the indentation of the original source lines and make the output
	      lines difficult to interpret.  This  option  will	 preserve  the
	      original source's indentation.

       -w
	      Ignores  all  blanks  (SPACE  and TAB characters) and treats all
	      other strings of blanks as equivalent. For example, `if ( a == b
	      )' will compare equal to `if(a==b)'.

       The following options are mutually exclusive:

       -c
		     Produces  a  listing  of  differences with three lines of
		     context. With this	 option,  output  format  is  modified
		     slightly.	That  is, output begins with identification of
		     the files involved and their creation  dates,  then  each
		     change is separated by a line with a dozen *'s. The lines
		     removed from file1 are marked with '—'. The  lines	 added
		     to	 file2 are marked '+'. Lines that are changed from one
		     file to the other are marked in both files with '!'.

       -C number
		     Produces a listing of differences identical to that  pro‐
		     duced by -c with number lines of context.

       -D string
		     Creates  a	 merged version of file1 and file2 with C pre‐
		     processor controls included so that a compilation of  the
		     result without defining string is equivalent to compiling
		     file1, while defining string will yield file2.

       -e
		     Produces a script of only a, c, and d  commands  for  the
		     editor  ed, which will recreate file2 from file1. In con‐
		     nection with the -e option, the following	shell  program
		     may  help	maintain  multiple versions of a file. Only an
		     ancestral file ($1) and a chain of version-to-version  ed
		     scripts  ($2,$3,...)  made	 by  diff  need	 be on hand. A
		     ``latest version'' appears on the standard output.

		       (shift; cat $*; echo a´1,$p') | ed − $1

       -f
		    Produces a similar script, not  useful  with  ed,  in  the
		    opposite order.

       -h
		    Does  a fast, half-hearted job. It works only when changed
		    stretches are short and well separated, but does  work  on
		    files of unlimited length. Options -c, -C, -D, -e, -f, and
		    -n are unavailable with -h. diff  does  not	 descend  into
		    directories with this option.

       -n
		    Produces a script similar to -e, but in the opposite order
		    and with a count of changed lines on each insert or delete
		    command.

       -u
		    Produces a listing of differences with three lines of con‐
		    text. The output is similar to  that  of  the  -c  option,
		    except that the context is "unified".  Removed and changed
		    lines in file1 are marked by a '-' while  lines  added  or
		    changed  in	 file2	are  marked by a '+'. Both versions of
		    changed lines appear in the output, while added,  removed,
		    and	 context lines appear only once. The identification of
		    file1 and file2 is different, with "−−−" and  "+++"	 being
		    printed  where  "***"  and	"−−−" would appear with the -c
		    option.  Each change is separated by a line of the form

		      @@ -n1,n2 +n3,n4 @@

       -U number
		    Produces a listing of differences identical to  that  pro‐
		    duced by -u with number lines of context.

       The following options are used for comparing directories:

       -l
		   Produces  output in long format. Before the diff, each text
		   file is piped through pr(1) to paginate it.	Other  differ‐
		   ences  are  remembered  and	summarized after all text file
		   differences are reported.

       -r
		   Applies diff recursively to common  subdirectories  encoun‐
		   tered.

       -s
		   Reports  files  that	 are  identical. These identical files
		   would not otherwise be mentioned.

       -S name
		   Starts a directory diff in the middle, beginning  with  the
		   file name.

OPERANDS
       The following operands are supported:

       file1
       file2
		      A	 path  name  of a file or directory to be compared. If
		      either file1 or file2 is −, the standard input  will  be
		      used in its place.

       directory1
       directory2
		      A path name of a directory to be compared.

       If  only one of file1 and file2 is a directory, diff will be applied to
       the non-directory file and the file contained  in  the  directory  file
       with  a	filename  that	is  the same as the last component of the non-
       directory file.

USAGE
       See largefile(5) for the description  of	 the  behavior	of  diff  when
       encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).

EXAMPLES
       Example 1 Typical output of the diff command

       In  the	following  command, dir1 is a directory containing a directory
       named x, dir2 is a directory containing a directory named x, dir1/x and
       dir2/x  both  contain  files named date.out, and dir2/x contains a file
       named y:

	 example% diff -r dir1 dir2
	 Common subdirectories: dir1/x and dir2/x

	 Only in dir2/x: y

	 diff -r dir1/x/date.out dir2/x/date.out

	 1c1

	 < Mon Jul  2 13:12:16 PDT 1990

	 ---

	 > Tue Jun 19 21:41:39 PDT 1990

ENVIRONMENT VARIABLES
       See environ(5) for descriptions of the following environment  variables
       that affect the execution of diff: LANG, LC_ALL, LC_CTYPE, LC_MESSAGES,
       LC_TIME, and NLSPATH.

       TZ
	      Determines the locale for affecting the timezone used for calcu‐
	      lating file timestamps written with the -C and -c options.

EXIT STATUS
       The following exit values are returned:

       0
	      No differences were found.

       1
	      Differences were found.

       >1
	      An error occurred.

FILES
       /tmp/d?????
			  temporary file used for comparison

       /usr/lib/diffh
			  executable file for -h option

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌────────────────────┬─────────────────┐
       │  ATTRIBUTE TYPE    │ ATTRIBUTE VALUE │
       ├────────────────────┼─────────────────┤
       │CSI		    │ Enabled	      │
       ├────────────────────┼─────────────────┤
       │Interface Stability │ Standard	      │
       └────────────────────┴─────────────────┘

SEE ALSO
       bdiff(1),   cmp(1),   comm(1),	dircmp(1),   ed(1),  pr(1),  sdiff(1),
       attributes(5), environ(5), largefile(5), standards(5)

NOTES
       Editing scripts produced under the -e or -f  options  are  naive	 about
       creating lines consisting of a single period (.).

       Missing NEWLINE at end of file indicates that the last line of the file
       in question did not have a NEWLINE. If the lines	 are  different,  they
       will  be	 flagged and output, although the output will seem to indicate
       they are the same.

				 Sep 22, 2004			       DIFF(1)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net