OnWorks favicon

dwdiff - Online in the Cloud

Run dwdiff in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command dwdiff that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



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. Delimiters 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 supported.

The default output from dwdiff is the new text, with the deleted and inserted parts
annotated with markers. Command line options are available 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 punctuation characters
depends on the current locale.

-W whitespace, --white-space=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 input file is allowed. This option
allows reformating diff output with dwdiff, and is useful for example to post-
process the output 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 number 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 number 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 instead of the canonical decomposition. The
compatibility decomposition discards formatting information. For example, the
ligature 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 character.

-c[spec], --color[=spec]
Color mode. The optional spec can be used to customize the colors. spec consists
of [delete],[insert]. If either is omited it will be set to its default color
(bright red or bright green respectively). Both parts of the spec consist of
[foreground][: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 inserted 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 underlined and bold

The standard markers for the begin and end of deleted and inserted 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 output for dwdiff for large changes with frequently
occuring words. However, using context requires more disk space and more processing
time. The default value is 1. Set this option to 0 to revert to the pre 1.5

Allow multiple close changes to be treated as one change, if context words are used
(see --match-context). This option reduces 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 whitespace 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 different 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

Load the profile with name name from the .dwdiffrc file in the user's home
directory. Only the last profile named is actually read, unless it is followed by a
--no-profile option. By default the profile named default is read.

Disable reading of profiles, unless followed by another --profile option. This
also disables reading the default profile.

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 interpreting file names that start with a
dash as options, one can specify a double dash (--) after which dwdiff will interpret any
following arguments as files to read.


Since version 2.1.0, dwdiff allows users to create profiles. A profile is a set of options
that can be loaded using the --profile option. Profiles are specified in the .dwdiffrc in
the user's home directory. The format of the .dwdiffrc file is as follows:

A line contains either a profile header (a text enclosed in []) or a long option name
without leading dashes, optionally followed by it's argument. Arguments are stripped of
whitespace surrounding it. If an argument starts and ends with matching double or single
quotes, these are removed as well. Comments can be included by starting a line with a hash
mark (#).

If no profile is specified, the profile named default will be loaded, unless the
--no-profile option is specified. Here is an example .dwdiffrc:

color red,blue

start-delete <span style="color=red">
stop-delete </span>
start-insert <span style="color=green">
stop-insert </span>

# Use only a space as whitespace.
white-space " "

Use dwdiff online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    Phaser is a fast, free, and fun open
    source HTML5 game framework that offers
    WebGL and Canvas rendering across
    desktop and mobile web browsers. Games
    can be co...
    Download Phaser
  • 2
    VASSAL Engine
    VASSAL Engine
    VASSAL is a game engine for creating
    electronic versions of traditional board
    and card games. It provides support for
    game piece rendering and interaction,
    Download VASSAL Engine
  • 3
    OpenPDF - Fork of iText
    OpenPDF - Fork of iText
    OpenPDF is a Java library for creating
    and editing PDF files with a LGPL and
    MPL open source license. OpenPDF is the
    LGPL/MPL open source successor of iText,
    Download OpenPDF - Fork of iText
  • 4
    SAGA - System for Automated
    Geoscientific Analyses - is a Geographic
    Information System (GIS) software with
    immense capabilities for geodata
    processing and ana...
    Download SAGA GIS
  • 5
    Toolbox for Java/JTOpen
    Toolbox for Java/JTOpen
    The IBM Toolbox for Java / JTOpen is a
    library of Java classes supporting the
    client/server and internet programming
    models to a system running OS/400,
    i5/OS, o...
    Download Toolbox for Java/JTOpen
  • 6
    D3.js (or D3 for Data-Driven Documents)
    is a JavaScript library that allows you
    to produce dynamic, interactive data
    visualizations in web browsers. With D3
    Download D3.js
  • More »

Linux commands