|
Hopefully, this page is exactly what you are looking for, but if not, you can always find further assistance on Unix/Linux Forum!
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 neces-
sary to convert file1 into file2. This list should be
minimal. Except in rare circumstances, diff finds a smal-
lest 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, identi-
cal 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'.
SunOS 5.10 Last change: 22 Sep 2004 1
User Commands diff(1)
-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> char-
acters) 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 preprocessor 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 com-
mands for the editor ed, which will recreate
file2 from file1. In connection with the -e
SunOS 5.10 Last change: 22 Sep 2004 2
User Commands diff(1)
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 '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 unlim-
ited 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 con-
text 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 identif-
ication 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 @@
SunOS 5.10 Last change: 22 Sep 2004 3
User Commands diff(1)
-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 subdirec-
tories encountered.
-s Reports files that are identical. These
identical files would not otherwise be men-
tioned.
-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
file2 compared. If 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.
SunOS 5.10 Last change: 22 Sep 2004 4
User Commands diff(1)
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 direc-
tory 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 calculating 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.
SunOS 5.10 Last change: 22 Sep 2004 5
User Commands diff(1)
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 attri-
butes:
____________________________________________________________
| 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 Last change: 22 Sep 2004 6
Man(1) output converted with
man2html and wrapped by fishsponge
This page was generated on Wed Sep 12 11:24:33 GMT 2007
|
Your favourite pages:
No pages logged yet. Trying to save cookie... Top 10 most popular pages:
sqlite3 man page (5085 hits) (openSUSE 10.2)
adv_cap_autoneg man page (4749 hits) (Solaris 10 11_06)
CPAN man page (4469 hits) (Suse Linux 10.1)
svn man page (4249 hits) (FreeBSD 6.2)
ssh man page (4249 hits) (Suse Linux 10.1)
ssh-socks5-proxy-connect man page (2207 hits) (Solaris 10 11_06)
startproc man page (2201 hits) (Suse Linux 10.1)
netcat man page (2159 hits) (Suse Linux 10.1)
pprosetup man page (2017 hits) (Solaris 10 11_06)
signal man page (2009 hits) (Suse Linux 10.1)
|