Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
DWDIFF(1)		  Delimited word diff program		     DWDIFF(1)

       dwdiff -	a delimited word diff program

       dwdiff [OPTIONS]	--diff-input [DIFF FILE]

       dwdiff is a diff	program	that operates at the word level	instead	of the
       line level. It is different from	wdiff in that it allows	 the  user  to
       specify	what  should be	considered whitespace, and in that it takes an
       optional	list of	characters that	should be considered  delimiters.  De-
       limiters	 are  single characters	that are treated as if they are	words,
       even when there is no whitespace	separating them	from  preceding	 words
       or  delimiters.	dwdiff	is  mostly command-line	compatible with	wdiff.
       Only the	--autopager, --terminal	and --avoid-wraps options are not sup-

       The  default  output  from dwdiff is the	new text, with the deleted and
       inserted	parts annotated	with markers. Command line options are	avail-
       able to change both what	is printed, and	the markers.

       dwdiff  accepts the following options (Note that	all strings will first
       be escape expanded. All standard	\-escapes are supported, as well as \u
       and \U Unicode escapes):

       -h, --help
	      Display a	short help message.

       -v, --version
	      Print version and	copyright information.

       -d delimiters, --delimiters=delimiters
	      Specify a	list of	characters to be used as delimiters.

       -P, --punctuation
	      Use punctuation characters as delimiters.	The exact set of punc-
	      tuation characters depends on the	current	locale.

       -W whitespace, --whitespace=whitespace
	      Specify a	list of	characters to be used as whitespace.

	      Interpret	the input as the output	from diff in the Unified  Diff
	      format  (usually produced	by diff	-u). In	this case only one in-
	      put file is allowed. This	option allows reformating diff	output
	      with  dwdiff, and	is useful for example to post-process the out-
	      put of svn diff.

       -1, --no-deleted
	      Suppress printing	of words deleted from the first	file.

       -2, --no-inserted
	      Suppress printing	of words inserted in the second	file.

       -3, --no-common
	      Suppress printing	of words common	to both	files.

       -L[width], --line-numbers[=width]
	      Show line	numbers	at the start of	each line.  The	 line  numbers
	      displayed	 are the line number in	the old	file and the line num-
	      ber in the new file respectively.	The optional width argument is
	      the minimum number of positions per line number.

       -Cnum, --context=num
	      Show  num	lines of context before	and after each changes.	A line
	      with only	-- is printed between blocks of	changes.

       -s, --statistics
	      Print statistics when done. The numbers printed include the num-
	      ber  of  words  from in both files, the number of	deleted	words,
	      the number of inserted words, and	the number of  changed	words.
	      The  number  of  changed words is	counted	as the number of words
	      that are removed from the	first file, and	the  number  of	 words
	      that replace them	from the second	file. All of these numbers are
	      also expressed as	a percentage of	the total number of  words  in
	      the file the words came from.

       -i, --ignore-case
	      Ignore  differences in case when comparing words.	This option is
	      only available if	the diff program that is called	provides it.

       -I, --ignore-formatting
	      Ignore differences in  formatting	 of  characters.  This	option
	      switches	to  using  the Unicode compatibility decomposition in-
	      stead of the canonical decomposition.  The compatibility	decom-
	      position discards	formatting information.	For example, the liga-
	      ture fi will be decomposed into two separate characters for  the
	      purposes	of comparison. However,	also super- and	subscript will
	      be regarded equal	as well	as different  rotations	 of  the  same

       -c[spec], --color[=spec]
	      Color  mode. The optional	spec can be used to customize the col-
	      ors.  spec consists of [delete],[insert].	If either is omited it
	      will be set to its default color (bright red or bright green re-
	      spectively).  Both  parts	 of  the  spec	 consist   of	[fore-
	      ground][:background].  To	 obtain	 a  list  of permissible color
	      names, use the word ``list'' as  spec.  Alternatively,  you  can
	      specify  any  escape  sequence  to  set attributes as a color by
	      prepending e:.

	      The standard markers for the begin and end of  deleted  and  in-
	      serted  text  are	 suppressed,  but any markers specified	on the
	      command line will	still be printed.

       -l, --less-mode
	      As -p but	also overstrike	deleted	whitespace.

       -p, --printer
	      Use overstriking with an underscore and bold text	 to  emphasize
	      changes. This is implemented by first printing the underscore or
	      a	duplicate of the  character  to	 be  printed,  followed	 by  a
	      backspace,  followed by the character.  On regular terminals you
	      won't see	any effect. The	less(1)	command	will however show  un-
	      derlined and bold	text.

	      The  standard  markers  for the begin and	end of deleted and in-
	      serted text are suppressed, but any  markers  specified  on  the
	      command line will	still be printed.

       -mnum, --match-context=num
	      Use  num	words  of context before and after words for matching.
	      Words in the old text will then only match words in the new text
	      if words surrounding them	are also equal.	This improves the out-
	      put for dwdiff for large changes with frequently occuring	words.
	      However,	using  context	requires more disk space and more pro-
	      cessing time. The	default	value is 1. Set	this option  to	 0  to
	      revert to	the pre	1.5 behavior.

	      Allow  multiple  close  changes  to be treated as	one change, if
	      context words are	used (see --match-context).  This  option  re-
	      duces  the  processing  time as the changes reported by the diff
	      program are not post-processed to	give more precise results.

       -A algorithm, --algorithm=algorithm
	      Select the algorithm to be  used	for  determining  differences.
	      There are	three possible values for algorithm: best, which tries
	      to find the minimal set of changes, normal,  which  trades  some
	      optimality  for speed, and fast, which assumes that the input is
	      large and	contains few changes. By default the normal  algorithm
	      is used.

       -S[marker], --paragraph-separator[=marker]
	      Show  insertion  or deletion of blocks of	lines with only	white-
	      space characters.	 A special marker is inserted into the	output
	      to indicate these	blocks.	The default marker is --.

	      Create  wdiff  compatible	output.	The dwdiff program uses	a dif-
	      ferent output algorithm, which provides a	more intuitive output.

       -w string, --start-delete=string
	      Specify a	string to mark begin of	deleted	text.

       -x string, --stop-delete=string
	      Specify a	string to mark end of deleted text.

       -y string, --start-insert=string
	      Specify a	string to mark begin of	inserted text.

       -z string, --stop-insert=string
	      Specify a	string to mark end of inserted text.

       -R, --repeat-markers
	      Repeat the begin and end markers at the start and	end of line if
	      a	change crosses a newline.

       A  single dash (-) as a file can	be used	to denote standard input. Only
       one file	can be read from standard input. To stop  dwdiff  from	inter-
       preting file names that start with a dash as options, one can specify a
       double dash (--)	after which dwdiff will	interpret any following	 argu-
       ments as	files to read.

       If  you think you have found a bug, please check	that you are using the
       latest version of dwdiff	<>.  When  re-
       porting	bugs,  please  include a minimal example that demonstrates the

       G.P. Halkes <>

       Copyright (C) 2006-2011 G.P. Halkes and others
       dwdiff is licensed under	the GNU	General	Public License version 3.
       For more	details	on the license,	see the	file COPYING in	the documenta-
       tion	directory.     On     Un*x    systems	 this	 is    usually

       dwfilter(1), wdiff(1), diff(1)

2.0.9				  2013/03/10			     DWDIFF(1)


Want to link to this manual page? Use this URL:

home | help