diff man page on SunOS

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

diff(1)				 User Commands			       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 com‐
		       pare 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
		       produced 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
		       connection with the -e option, the following shell pro‐
		       gram 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 out‐
		       put.

		       (shift; cat $*; echo '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
		       context. 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  differ‐
		       ent, 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
		       produced 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
		       differences are remembered  and	summarized  after  all
		       text file differences are reported.

       -r	       Applies	 diff  recursively  to	common	subdirectories
		       encountered.

       -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	       A path name of a file or directory to be	 compared.  If
       file2	       either  file1 or file2 is −, the standard input will be
		       used in its place.

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

       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 cal‐
		culating 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	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Availability		     │SUNWesu			   │
       ├─────────────────────────────┼─────────────────────────────┤
       │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.

SunOS 5.10			  22 Sep 2004			       diff(1)
[top]

List of man pages available for SunOS

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