*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> diff (1)              



NAME    [Toc]    [Back]

       diff - Compares text files

SYNOPSIS    [Toc]    [Back]

       diff  [-c   | -C number | -e  | -f  | -h  | -n] [-bilrstw]
       [-Sfile] directory1 directory2

       diff [-c  | -C number | -e  | -f   |  -h   |  -n]  [-bitw]
       file1 file2

       diff [-Dstring] [-bitw] file1 file2

STANDARDS    [Toc]    [Back]

       Interfaces  documented  on  this reference page conform to
       industry standards as follows:

       diff:  XCU5.0

       Refer to the standards(5) reference page for more information
 about industry standards and associated tags.

OPTIONS    [Toc]    [Back]

       The -c, -C, -e, -f, -h, and -n options are mutually exclusive.

       The -r, -s, and -S options can be specified with directory
       comparisons only.

       The -b, -i, -l, -t, and -w options can be used in combination
 with any others and in both file and  directory  comparisons.
   Causes  trailing  white  space at the end of a
       line to be treated as a single  newline  character.   Produces
  a  listing with the default number of lines of context
 (3 lines).  The output lists the files being compared
       and  their last modification dates, then lists the differing
 lines.  Lines that are changed from one  file  to  the
       other  are  marked  in  both files with an !  (exclamation
       point).  Changes that lie within the specified  number  of
       lines  of each other are grouped together on output.  Produces
 output that provides number lines of context  (where
       number   is   a   positive   decimal   integer).    [Tru64
       UNIX]  Causes diff to create a merged version of file1 and
       file2 on the standard output, with C preprocessor controls
       included.  Thus,  a  compilation  of  the  result  without
       defining  string  is  equivalent to compiling file1, while
       defining string yields file2.  Produces a script of a,  c,
       d,  and  s  commands for the editor ed, which can recreate
       file2 from file1.  In connection with  -e,  the  following
       shell  program  can  help  maintain multiple versions of a
       file. Only an ancestral file ($1) and a chain of  versionto-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

              [Tru64  UNIX]  Extra commands are added to the output
 when comparing directories with -e; the  result
              is  a sh script for converting text files common to
              the directories from their state in  directory1  to
              their  state  in  directory2.   Produces  a  script
              similar to that of -e, not useful with ed,  and  in
              the   opposite  order.   [Tru64  UNIX]  Performs  a
              faster comparison.  This option only works when the
              changed  sections are short and well separated, but
              it does work on files of any length.  The -e and -f
              options  are  not  available  when  you  use the -h
              option.  [Tru64 UNIX]  Ignores the case of letters.
              For  example,  A  is  considered  identical  to  a.
              [Tru64 UNIX]  Specifies long  output  format;  each
              text file diff listing is piped through pr to paginate
 it, other differences are remembered and  summarized
   after   all  text  file  differences  are
              reported.  (Directory  comparisons  only.)   [Tru64
              UNIX]  Produces a script similar to that of -e, but
              in the opposite order and with a count  of  changed
              lines  on  each  insert or delete command.  This is
              the form used by the revision control system (RCS).
              Checks  files in common subdirectories recursively.
              [Tru64 UNIX]  Reports identical  files,  which  are
              otherwise  not  mentioned.   [Tru64 UNIX]  Starts a
              directory diff in the middle, beginning with  file.
              (Directory      comparisons      only.)      [Tru64
              UNIX]  Expands tabs in output lines.  Normal or  -c
              output  adds  characters  to the front of each line
              that can affect the  indentation  of  the  original
              source  lines and make the output listing difficult
              to interpret.  This option preserves  the  original
              source's  indentation.  [Tru64 UNIX]  Is similar to
              -b, but causes whitespace (spaces and tabs)  to  be
              ignored.   For example, if ( a == b ) is considered
              identical to if(a==b).

OPERANDS    [Toc]    [Back]

       The path names of files or directories to be compared. See
       the  DESCRIPTION section for the permissible combinations.
       If any operand is specified as - (hyphen), standard  input
       is read at that point.

DESCRIPTION    [Toc]    [Back]

   Input Options
       If neither file1 nor file2 is a directory, then either can
       be given as - (dash), in which case the standard input  is
       used.   If  file1  is  a directory and file2 is a file, or
       vice versa, a file in the  specified  directory  with  the
       same name as the specified file is used.

       If both arguments are directories, diff sorts the contents
       of the directories by name, and then runs the regular diff
       file  algorithm  on text files that are different.  Binary
       files that differ, common subdirectories, and  files  that
       appear in only one directory are also listed.

   Output Options    [Toc]    [Back]
       There  are several choices for output format.  The default
       output format contains lines of  these  forms:  number1  a
       number2,number3  number1,number2 d number3 number1,number2
       c number3,number4

       These lines resemble ed commands  to  convert  file1  into
       file2.   In  these  lines,  the command a indicates that a
       line or lines were added to one of the files; d  indicates
       that  a line or lines were deleted; and c indicates that a
       line or lines were changed.  The numbers after the letters
       pertain  to  file2.   In  fact,  by exchanging a for d and
       reading backward one can ascertain equally how to  convert
       file2 into file1.  As in ed, identical pairs where number1
       = number2 or number3 = number4 are abbreviated as a single

       Following  each of these lines come all the lines that are
       affected in the first  file,  flagged  by  <  (left  angle
       bracket), then all the lines that are affected in the second
 file, flagged by > (right angle bracket).

       Except in rare circumstances, diff finds the smallest sufficient
 set of file differences.

NOTES    [Toc]    [Back]

       [Tru64  UNIX]  Editing  scripts  produced  by the -e or -f
       options cannot create  lines  consisting  of  a  single  .
       (dot)  character.  [Tru64 UNIX]  Block, character, or FIFO
       special files cannot be used with diff because they  cause
       the command to exit.  [Tru64 UNIX]  If lines at the end of
       a file are changed and other lines added, diff output  may
       show this as a delete and add, as a change, or as a change
       and add. That is, diff is not expected to know  what  happened.

EXIT STATUS    [Toc]    [Back]

       The  following  exit  values are returned: No differences.
       Differences found.  An error occurred.

EXAMPLES    [Toc]    [Back]

       To compare two files, enter: diff chap1.bak chap1

              This displays the  differences  between  the  files
              chap1.bak  and chap1.  To compare two files, ignoring
 differences  in  the  amount  of  white  space,
              enter: diff -b prog.c.bak prog.c

              If  two  lines  differ only in the number of spaces
              and tabs between words, then the diff command  considers
  them to be the same.  To create a file containing
 commands that the ed  command  can  use  to
              reconstruct  one  file from another, enter: diff -e
              ch2 ch2.old > new.old.ed

              This creates a file named new.to.old.ed  that  contains
  the ed subcommands to change chap2 back into
              the version of the text  found  in  chap2.old.   In
              most  cases,  new.to.old.ed  is a much smaller file
              than chap2.old.  You can save disk space by  deleting
  chap2.old,  and  you can reconstruct it at any
              time by entering: (cat new.old.ed ; echo '1,$p')  |
              ed - ch2 > ch2.old

              The  commands in parentheses add 1,$p to the end of
              the editing commands sent to the  ed  editor.   The
              1,$p  causes  the  ed  command to write the file to
              standard output after editing  it.   This  modified
              command  sequence is then piped to the ed command (
              | ed ), and the editor reads it as standard  input.
              The  -  option causes the ed command not to display
              the file size and other extra information, since it
              would be mixed with the text of chap2.old.


       The  following  environment variables affect the execution
       of diff: Provides a default value for  the  internationalization
 variables that are unset or null. If LANG is unset
       or null, the corresponding value from the  default  locale
       is  used.   If  any  of the internationalization variables
       contain an invalid setting, the utility behaves as if none
       of  the variables had been defined.  If set to a non-empty
       string value, overrides the values of all the other internationalization
  variables.  Determines the locale for the
       interpretation of sequences of bytes of text data as characters
  (for  example, single-byte as opposed to multibyte
       characters in arguments).  Determines the locale  for  the
       format  and  contents  of  diagnostic  messages written to
       standard error.  Determines the location of message  catalogues
  for the processing of LC_MESSAGES.  Determines the
       locale for affecting the time zone  used  for  calculating
       the timestamps written with the -c and -C options.

FILES    [Toc]    [Back]

       For the -h option.  For the -l option.

SEE ALSO    [Toc]    [Back]

       Commands:  bdiff(1),  cmp(1),  comm(1),  diff3(1),  ed(1),

       Standards:  standards(5)

[ Back ]
 Similar pages
Name OS Title
diff3 Tru64 Compares three files
cmp Tru64 Compares two files
comm Tru64 Compares two sorted files.
sdiff Tru64 Compares two files and displays the differences in
fspec IRIX format specification in text files
sort OpenBSD sort or merge text files
caterr IRIX Processes message text files
sort FreeBSD sort lines of text files
sort Linux sort lines of text files
fspec HP-UX format specification in text files
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service