/usr/share/doc/diffutils-doc/Incomplete-Lines.html is in diffutils-doc 1:3.3-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This manual is for GNU Diffutils
(version 3.3, 23 March 2013),
and documents the GNU diff, diff3,
sdiff, and cmp commands for showing the
differences between files and the GNU patch command for
using their output to update files.
Copyright (C) 1992-1994, 1998, 2001-2002, 2004, 2006, 2009-2013 Free
Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled
"GNU Free Documentation License." -->
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Comparing and Merging Files: Incomplete Lines</title>
<meta name="description" content="Comparing and Merging Files: Incomplete Lines">
<meta name="keywords" content="Comparing and Merging Files: Incomplete Lines">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Index.html#Index" rel="index" title="Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="index.html#Top" rel="up" title="Top">
<link href="Comparing-Directories.html#Comparing-Directories" rel="next" title="Comparing Directories">
<link href="Output-Formats.html#Detailed-If_002dthen_002delse" rel="previous" title="Detailed If-then-else">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Incomplete-Lines"></a>
<div class="header">
<p>
Next: <a href="Comparing-Directories.html#Comparing-Directories" accesskey="n" rel="next">Comparing Directories</a>, Previous: <a href="Output-Formats.html#Output-Formats" accesskey="p" rel="previous">Output Formats</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p>
</div>
<a name="Incomplete-Lines-1"></a>
<h2 class="chapter">3 Incomplete Lines</h2>
<a name="index-incomplete-lines"></a>
<a name="index-full-lines"></a>
<a name="index-newline-treatment-by-diff"></a>
<p>When an input file ends in a non-newline character, its last line is
called an <em>incomplete line</em> because its last character is not a
newline. All other lines are called <em>full lines</em> and end in a
newline character. Incomplete lines do not match full lines unless
differences in white space are ignored (see <a href="Comparison.html#White-Space">White Space</a>).
</p>
<p>An incomplete line is normally distinguished on output from a full
line by a following line that starts with ‘<samp>\</samp>’. However, the
<acronym>RCS</acronym> format (see <a href="Output-Formats.html#RCS">RCS</a>) outputs the incomplete line as-is,
without any trailing newline or following line. The side by side
format normally represents incomplete lines as-is, but in some cases
uses a ‘<samp>\</samp>’ or ‘<samp>/</samp>’ gutter marker. See <a href="Output-Formats.html#Side-by-Side">Side by Side</a>. The
if-then-else line format preserves a line’s incompleteness with
‘<samp>%L</samp>’, and discards the newline with ‘<samp>%l</samp>’. See <a href="Output-Formats.html#Line-Formats">Line Formats</a>.
Finally, with the <code>ed</code> and forward <code>ed</code>
output formats (see <a href="Output-Formats.html#Output-Formats">Output Formats</a>) <code>diff</code> cannot
represent an incomplete line, so it pretends there was a newline and
reports an error.
</p>
<p>For example, suppose <samp>F</samp> and <samp>G</samp> are one-byte files that
contain just ‘<samp>f</samp>’ and ‘<samp>g</samp>’, respectively. Then ‘<samp>diff F G</samp>’
outputs
</p>
<div class="example">
<pre class="example">1c1
< f
\ No newline at end of file
---
> g
\ No newline at end of file
</pre></div>
<p>(The exact message may differ in non-English locales.)
‘<samp>diff -n F G</samp>’ outputs the following without a trailing newline:
</p>
<div class="example">
<pre class="example">d1 1
a1 1
g
</pre></div>
<p>‘<samp>diff -e F G</samp>’ reports two errors and outputs the following:
</p>
<div class="example">
<pre class="example">1c
g
.
</pre></div>
<hr>
<div class="header">
<p>
Next: <a href="Comparing-Directories.html#Comparing-Directories" accesskey="n" rel="next">Comparing Directories</a>, Previous: <a href="Output-Formats.html#Output-Formats" accesskey="p" rel="previous">Output Formats</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|