166492cf0SYuri Pankov.\" 266492cf0SYuri Pankov.\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for 366492cf0SYuri Pankov.\" permission to reproduce portions of its copyrighted documentation. 466492cf0SYuri Pankov.\" Original documentation from The Open Group can be obtained online at 5c10c16deSRichard Lowe.\" http://www.opengroup.org/bookstore/. 666492cf0SYuri Pankov.\" 766492cf0SYuri Pankov.\" The Institute of Electrical and Electronics Engineers and The Open 866492cf0SYuri Pankov.\" Group, have given us permission to reprint portions of their 966492cf0SYuri Pankov.\" documentation. 1066492cf0SYuri Pankov.\" 1166492cf0SYuri Pankov.\" In the following statement, the phrase ``this text'' refers to portions 1266492cf0SYuri Pankov.\" of the system documentation. 1366492cf0SYuri Pankov.\" 1466492cf0SYuri Pankov.\" Portions of this text are reprinted and reproduced in electronic form 1566492cf0SYuri Pankov.\" in the SunOS Reference Manual, from IEEE Std 1003.1, 2004 Edition, 1666492cf0SYuri Pankov.\" Standard for Information Technology -- Portable Operating System 1766492cf0SYuri Pankov.\" Interface (POSIX), The Open Group Base Specifications Issue 6, 1866492cf0SYuri Pankov.\" Copyright (C) 2001-2004 by the Institute of Electrical and Electronics 1966492cf0SYuri Pankov.\" Engineers, Inc and The Open Group. In the event of any discrepancy 2066492cf0SYuri Pankov.\" between these versions and the original IEEE and The Open Group 2166492cf0SYuri Pankov.\" Standard, the original IEEE and The Open Group Standard is the referee 2266492cf0SYuri Pankov.\" document. The original Standard can be obtained online at 2366492cf0SYuri Pankov.\" http://www.opengroup.org/unix/online.html. 2466492cf0SYuri Pankov.\" 25c10c16deSRichard Lowe.\" This notice shall appear on any product containing this material. 2666492cf0SYuri Pankov.\" 2766492cf0SYuri Pankov.\" The contents of this file are subject to the terms of the 2866492cf0SYuri Pankov.\" Common Development and Distribution License (the "License"). 2966492cf0SYuri Pankov.\" You may not use this file except in compliance with the License. 3066492cf0SYuri Pankov.\" 3166492cf0SYuri Pankov.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 3266492cf0SYuri Pankov.\" or http://www.opensolaris.org/os/licensing. 3366492cf0SYuri Pankov.\" See the License for the specific language governing permissions 3466492cf0SYuri Pankov.\" and limitations under the License. 3566492cf0SYuri Pankov.\" 3666492cf0SYuri Pankov.\" When distributing Covered Code, include this CDDL HEADER in each 3766492cf0SYuri Pankov.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. 3866492cf0SYuri Pankov.\" If applicable, add the following below this CDDL HEADER, with the 3966492cf0SYuri Pankov.\" fields enclosed by brackets "[]" replaced with your own identifying 4066492cf0SYuri Pankov.\" information: Portions Copyright [yyyy] [name of copyright owner] 4166492cf0SYuri Pankov.\" 4266492cf0SYuri Pankov.\" 4366492cf0SYuri Pankov.\" Copyright 1989 AT&T 4466492cf0SYuri Pankov.\" Portions Copyright (c) 1992, X/Open Company Limited. All Rights Reserved. 4566492cf0SYuri Pankov.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved. 46d2b76ef7SAndy Fiddaman.\" Copyright 2022 OmniOS Community Edition (OmniOSce) Association. 4766492cf0SYuri Pankov.\" 48d2b76ef7SAndy Fiddaman.Dd February 23, 2022 49d2b76ef7SAndy Fiddaman.Dt DIFF 1 50d2b76ef7SAndy Fiddaman.Os 51d2b76ef7SAndy Fiddaman.Sh NAME 52d2b76ef7SAndy Fiddaman.Nm diff 53d2b76ef7SAndy Fiddaman.Nd compare two files 54d2b76ef7SAndy Fiddaman.Sh SYNOPSIS 55d2b76ef7SAndy Fiddaman.Nm 56d2b76ef7SAndy Fiddaman.Op Fl biqtw 57d2b76ef7SAndy Fiddaman.Op Fl c | e | f | h | n | u 58d2b76ef7SAndy Fiddaman.Ar file1 59d2b76ef7SAndy Fiddaman.Ar file2 60d2b76ef7SAndy Fiddaman.Nm 61d2b76ef7SAndy Fiddaman.Op Fl biqtw 62d2b76ef7SAndy Fiddaman.Op Fl C Ar number | Fl U Ar number 63d2b76ef7SAndy Fiddaman.Ar file1 64d2b76ef7SAndy Fiddaman.Ar file2 65d2b76ef7SAndy Fiddaman.Nm 66d2b76ef7SAndy Fiddaman.Op Fl biqtw 67d2b76ef7SAndy Fiddaman.Op Fl D Ar string 68d2b76ef7SAndy Fiddaman.Ar file1 69d2b76ef7SAndy Fiddaman.Ar file2 70d2b76ef7SAndy Fiddaman.Nm 71d2b76ef7SAndy Fiddaman.Op Fl biqtw 72d2b76ef7SAndy Fiddaman.Op Fl c | e | f | h | n | u 73d2b76ef7SAndy Fiddaman.Op Fl l 74d2b76ef7SAndy Fiddaman.Op Fl r 75d2b76ef7SAndy Fiddaman.Op Fl s 76d2b76ef7SAndy Fiddaman.Op Fl S Ar name 77d2b76ef7SAndy Fiddaman.Ar directory1 78d2b76ef7SAndy Fiddaman.Ar directory2 79d2b76ef7SAndy Fiddaman.Sh DESCRIPTION 80d2b76ef7SAndy FiddamanThe 81d2b76ef7SAndy Fiddaman.Nm 82d2b76ef7SAndy Fiddamanutility will compare the contents of 83d2b76ef7SAndy Fiddaman.Ar file1 84d2b76ef7SAndy Fiddamanand 85d2b76ef7SAndy Fiddaman.Ar file2 86d2b76ef7SAndy Fiddamanand write to standard output a list of changes necessary to convert 87d2b76ef7SAndy Fiddaman.Ar file1 88d2b76ef7SAndy Fiddamaninto 89d2b76ef7SAndy Fiddaman.Ar file2 . 90d2b76ef7SAndy FiddamanThis list should be minimal. 91d2b76ef7SAndy FiddamanExcept in rare circumstances, 92d2b76ef7SAndy Fiddaman.Nm 93d2b76ef7SAndy Fiddamanfinds a smallest sufficient set of file differences. 94d2b76ef7SAndy FiddamanNo output will be produced if the files are identical. 95d2b76ef7SAndy Fiddaman.Pp 96c10c16deSRichard LoweThe normal output contains lines of these forms: 97d2b76ef7SAndy Fiddaman.Pp 98d2b76ef7SAndy Fiddaman.Bl -item -offset indent -compact 99d2b76ef7SAndy Fiddaman.Sm off 100d2b76ef7SAndy Fiddaman.It 101d2b76ef7SAndy Fiddaman.Ar n1 Sy a Ar n3 , n4 102d2b76ef7SAndy Fiddaman.It 103d2b76ef7SAndy Fiddaman.Ar n1 , n2 Sy d Ar n3 104d2b76ef7SAndy Fiddaman.It 105d2b76ef7SAndy Fiddaman.Ar n1 , n2 Sy c Ar n3 , n4 106d2b76ef7SAndy Fiddaman.Sm on 107d2b76ef7SAndy Fiddaman.El 108d2b76ef7SAndy Fiddaman.Pp 109d2b76ef7SAndy Fiddamanwhere 110d2b76ef7SAndy Fiddaman.Ar n1 111d2b76ef7SAndy Fiddamanand 112d2b76ef7SAndy Fiddaman.Ar n2 113d2b76ef7SAndy Fiddamanrepresent lines in 114d2b76ef7SAndy Fiddaman.Ar file1 115d2b76ef7SAndy Fiddamanand 116d2b76ef7SAndy Fiddaman.Ar n3 117d2b76ef7SAndy Fiddamanand 118d2b76ef7SAndy Fiddaman.Ar n4 119d2b76ef7SAndy Fiddamanrepresent lines in 120d2b76ef7SAndy Fiddaman.Ar file2 121d2b76ef7SAndy FiddamanThese lines resemble 122d2b76ef7SAndy Fiddaman.Xr ed 1 123d2b76ef7SAndy Fiddamancommands to convert 124d2b76ef7SAndy Fiddaman.Ar file1 125d2b76ef7SAndy Fiddamanto 126d2b76ef7SAndy Fiddaman.Ar file2 . 127d2b76ef7SAndy FiddamanBy exchanging 128d2b76ef7SAndy Fiddaman.Sy a 129d2b76ef7SAndy Fiddamanfor 130d2b76ef7SAndy Fiddaman.Sy d 131d2b76ef7SAndy Fiddamanand reading backwards, 132d2b76ef7SAndy Fiddaman.Ar file2 133d2b76ef7SAndy Fiddamancan be converted to 134d2b76ef7SAndy Fiddaman.Ar file1 . 135d2b76ef7SAndy FiddamanAs in 136d2b76ef7SAndy Fiddaman.Xr ed 1 , 137d2b76ef7SAndy Fiddamanidentical pairs, where 138d2b76ef7SAndy Fiddaman.Ar n1 Ns = Ns Ar n2 139d2b76ef7SAndy Fiddamanor 140d2b76ef7SAndy Fiddaman.Ar n3 Ns = Ns Ar n4 141d2b76ef7SAndy Fiddamanare abbreviated as a single number. 142d2b76ef7SAndy Fiddaman.Pp 143c10c16deSRichard LoweFollowing each of these lines come all the lines that are affected in the first 144d2b76ef7SAndy Fiddamanfile flagged by 145d2b76ef7SAndy Fiddaman.Sq < , 146d2b76ef7SAndy Fiddamanthen all the lines that are affected in the second file flagged by 147d2b76ef7SAndy Fiddaman.Sq > . 148d2b76ef7SAndy Fiddaman.Sh OPTIONS 149c10c16deSRichard LoweThe following options are supported: 150d2b76ef7SAndy Fiddaman.Bl -tag -width Ds 151d2b76ef7SAndy Fiddaman.It Fl b 152d2b76ef7SAndy FiddamanIgnores trailing blanks 153d2b76ef7SAndy Fiddaman.Pq spaces and tabs 154d2b76ef7SAndy Fiddamanand treats other strings of blanks as equivalent. 155d2b76ef7SAndy Fiddaman.It Fl i 156d2b76ef7SAndy FiddamanIgnores the case of letters. 157d2b76ef7SAndy FiddamanFor example, ` 158d2b76ef7SAndy Fiddaman.Sq A 159d2b76ef7SAndy Fiddamanwill compare equal to 160d2b76ef7SAndy Fiddaman.Sq a . 161d2b76ef7SAndy Fiddaman.It Fl q 162d2b76ef7SAndy Fiddamanreport only when files differ 163d2b76ef7SAndy Fiddaman.It Fl t 164d2b76ef7SAndy FiddamanExpands TAB characters in output lines. 165d2b76ef7SAndy FiddamanNormal or 166d2b76ef7SAndy Fiddaman.Fl c 167d2b76ef7SAndy Fiddamanoutput adds character(s) to the front of each line that may adversely affect 168d2b76ef7SAndy Fiddamanthe indentation of the original source lines and make the output lines 169d2b76ef7SAndy Fiddamandifficult to interpret. 170d2b76ef7SAndy FiddamanThis option will preserve the original source's indentation. 171d2b76ef7SAndy Fiddaman.It Fl w 172d2b76ef7SAndy FiddamanIgnores all blanks 173d2b76ef7SAndy Fiddaman.Pq SPACE and TAB characters 174d2b76ef7SAndy Fiddamanand treats all other strings of blanks as equivalent. 175d2b76ef7SAndy FiddamanFor example, 176d2b76ef7SAndy Fiddaman.Ql if ( a == b ) 177d2b76ef7SAndy Fiddamanwill compare equal to 178d2b76ef7SAndy Fiddaman.Ql if (a==b) . 179d2b76ef7SAndy Fiddaman.El 180d2b76ef7SAndy Fiddaman.Pp 181c10c16deSRichard LoweThe following options are mutually exclusive: 182d2b76ef7SAndy Fiddaman.Bl -tag -width Ds 183d2b76ef7SAndy Fiddaman.It Fl c 184d2b76ef7SAndy FiddamanProduces a listing of differences with three lines of context. 185d2b76ef7SAndy FiddamanWith this option, output format is modified slightly. 186d2b76ef7SAndy FiddamanThat is, output begins with identification of the files involved and their 187d2b76ef7SAndy Fiddamancreation dates, then each change is separated by a line with a dozen 188d2b76ef7SAndy Fiddamanasterisks 189d2b76ef7SAndy Fiddaman.Pq \&* . 190d2b76ef7SAndy FiddamanThe lines removed from 191d2b76ef7SAndy Fiddaman.Ar file1 192d2b76ef7SAndy Fiddamanare marked with 193d2b76ef7SAndy Fiddaman.Sq -- . 194d2b76ef7SAndy FiddamanThe lines added to 195d2b76ef7SAndy Fiddaman.Ar file2 196d2b76ef7SAndy Fiddamanare marked 197d2b76ef7SAndy Fiddaman.Sq \&+ . 198d2b76ef7SAndy FiddamanLines that are changed from one file to the other are marked in both files with 199d2b76ef7SAndy Fiddaman.Sq \&! . 200d2b76ef7SAndy Fiddaman.It Fl C Ar number 201d2b76ef7SAndy FiddamanProduces a listing of differences identical to that produced by 202d2b76ef7SAndy Fiddaman.Fl c 203d2b76ef7SAndy Fiddamanwith 204d2b76ef7SAndy Fiddaman.Ar number 205d2b76ef7SAndy Fiddamanlines of context. 206d2b76ef7SAndy Fiddaman.It Fl D Ar string 207d2b76ef7SAndy FiddamanCreates a merged version of 208d2b76ef7SAndy Fiddaman.Ar file1 209d2b76ef7SAndy Fiddamanand 210d2b76ef7SAndy Fiddaman.Ar file2 211d2b76ef7SAndy Fiddamanwith C preprocessor controls included so that a compilation of the result 212d2b76ef7SAndy Fiddamanwithout defining 213d2b76ef7SAndy Fiddaman.Ar string 214d2b76ef7SAndy Fiddamanis equivalent to compiling 215d2b76ef7SAndy Fiddaman.Ar file1 , 216d2b76ef7SAndy Fiddamanwhile defining 217d2b76ef7SAndy Fiddaman.Ar string 218d2b76ef7SAndy Fiddamanwill yield 219d2b76ef7SAndy Fiddaman.Ar file2 . 220d2b76ef7SAndy Fiddaman.It Fl e 221d2b76ef7SAndy FiddamanProduces a script of only 222d2b76ef7SAndy Fiddaman.Sy a , 223d2b76ef7SAndy Fiddaman.Sy c , 224d2b76ef7SAndy Fiddamanand 225d2b76ef7SAndy Fiddaman.Sy d 226d2b76ef7SAndy Fiddamancommands for the editor 227d2b76ef7SAndy Fiddaman.Xr ed 1 , 228d2b76ef7SAndy Fiddamanwhich will recreate 229d2b76ef7SAndy Fiddaman.Ar file2 230d2b76ef7SAndy Fiddamanfrom 231d2b76ef7SAndy Fiddaman.Ar file1 . 232d2b76ef7SAndy FiddamanIn connection with the 233d2b76ef7SAndy Fiddaman.Fl e 234d2b76ef7SAndy Fiddamanoption, the following shell program may help maintain multiple versions of a 235c10c16deSRichard Lowefile. 236d2b76ef7SAndy FiddamanOnly an ancestral file 237d2b76ef7SAndy Fiddaman.Pq $1 238d2b76ef7SAndy Fiddamanand a chain of version-to-version 239d2b76ef7SAndy Fiddaman.Sy ed 240d2b76ef7SAndy Fiddamanscripts 241d2b76ef7SAndy Fiddaman.Pq $2,$3,... 242d2b76ef7SAndy Fiddamanmade by 243d2b76ef7SAndy Fiddaman.Nm 244d2b76ef7SAndy Fiddamanneed be on hand. 245d2b76ef7SAndy FiddamanA 246d2b76ef7SAndy Fiddaman.Dq latest version 247d2b76ef7SAndy Fiddamanappears on the standard output. 248d2b76ef7SAndy Fiddaman.Pp 249d2b76ef7SAndy Fiddaman.Dl (shift; cat $*; echo a'1,$p') | ed - $1 250d2b76ef7SAndy Fiddaman.It Fl f 251d2b76ef7SAndy FiddamanProduces a similar script, not useful with 252d2b76ef7SAndy Fiddaman.Xr ed 1 , 253d2b76ef7SAndy Fiddamanin the opposite order. 254d2b76ef7SAndy Fiddaman.It Fl h 255d2b76ef7SAndy FiddamanDoes a fast, half-hearted job. 256d2b76ef7SAndy FiddamanIt works only when changed stretches are short and well separated, but does 257d2b76ef7SAndy Fiddamanwork on files of unlimited length. 258d2b76ef7SAndy FiddamanOptions 259d2b76ef7SAndy Fiddaman.Fl c , 260d2b76ef7SAndy Fiddaman.Fl C , 261d2b76ef7SAndy Fiddaman.Fl D , 262d2b76ef7SAndy Fiddaman.Fl e , 263d2b76ef7SAndy Fiddaman.Fl f , 264d2b76ef7SAndy Fiddamanand 265d2b76ef7SAndy Fiddaman.Fl n 266d2b76ef7SAndy Fiddamanare unavailable with 267d2b76ef7SAndy Fiddaman.Fl h . 268d2b76ef7SAndy Fiddaman.Nm 269d2b76ef7SAndy Fiddamandoes not descend into directories with this option. 270d2b76ef7SAndy Fiddaman.It Fl n 271d2b76ef7SAndy FiddamanProduces a script similar to 272d2b76ef7SAndy Fiddaman.Fl e , 273d2b76ef7SAndy Fiddamanbut in the opposite order and with a count of changed lines on each insert or 274d2b76ef7SAndy Fiddamandelete command. 275d2b76ef7SAndy Fiddaman.It Fl u 276d2b76ef7SAndy FiddamanProduces a listing of differences with three lines of context. 277d2b76ef7SAndy FiddamanThe output is similar to that of the 278d2b76ef7SAndy Fiddaman.Fl c 279d2b76ef7SAndy Fiddamanoption, except that the context is 280d2b76ef7SAndy Fiddaman.Dq unified . 281d2b76ef7SAndy FiddamanRemoved and changed lines in 282d2b76ef7SAndy Fiddaman.Ar file1 283d2b76ef7SAndy Fiddamanare marked by a 284d2b76ef7SAndy Fiddaman.Sq \&- 285d2b76ef7SAndy Fiddamanwhile lines added or changed in 286d2b76ef7SAndy Fiddaman.Ar file2 287d2b76ef7SAndy Fiddamanare marked by a 288d2b76ef7SAndy Fiddaman.Sq \&+ . 289d2b76ef7SAndy FiddamanBoth versions of changed lines appear in the output, while added, removed, and 290d2b76ef7SAndy Fiddamancontext lines appear only once. 291d2b76ef7SAndy FiddamanThe identification of 292d2b76ef7SAndy Fiddaman.Ar file1 293d2b76ef7SAndy Fiddamanand 294d2b76ef7SAndy Fiddaman.Ar file2 295d2b76ef7SAndy Fiddamanis different, with 296d2b76ef7SAndy Fiddaman.Dq --- 297d2b76ef7SAndy Fiddamanand 298d2b76ef7SAndy Fiddaman.Dq +++ 299d2b76ef7SAndy Fiddamanbeing printed where 300d2b76ef7SAndy Fiddaman.Dq *** 301d2b76ef7SAndy Fiddamanand 302d2b76ef7SAndy Fiddaman.Dq --- 303d2b76ef7SAndy Fiddamanwould appear with the 304d2b76ef7SAndy Fiddaman.Fl c 305d2b76ef7SAndy Fiddamanoption. 306d2b76ef7SAndy FiddamanEach change is separated by a line of the form 307d2b76ef7SAndy Fiddaman.Pp 308d2b76ef7SAndy Fiddaman.D1 Cm @@ Cm \&- Ns Ar n1 , Ns Ar n2 Cm + Ns Ar n3 , Ns Ar n4 Cm @@ 309d2b76ef7SAndy Fiddaman.It Fl U Ar number 310d2b76ef7SAndy FiddamanProduces a listing of differences identical to that produced by 311d2b76ef7SAndy Fiddaman.Fl u 312d2b76ef7SAndy Fiddamanwith 313d2b76ef7SAndy Fiddaman.Ar number 314d2b76ef7SAndy Fiddamanlines of context. 315d2b76ef7SAndy Fiddaman.El 316d2b76ef7SAndy Fiddaman.Pp 317d2b76ef7SAndy FiddamanThe following options are used for comparing directories: 318d2b76ef7SAndy Fiddaman.Bl -tag -width Ds 319d2b76ef7SAndy Fiddaman.It Fl l 320d2b76ef7SAndy FiddamanProduces output in long format. 321d2b76ef7SAndy FiddamanBefore the 322d2b76ef7SAndy Fiddaman.Nm , 323d2b76ef7SAndy Fiddamaneach text file is piped through 324d2b76ef7SAndy Fiddaman.Xr pr 1 325d2b76ef7SAndy Fiddamanto paginate it. 326d2b76ef7SAndy FiddamanOther differences are remembered and summarized after all text file differences 327d2b76ef7SAndy Fiddamanare reported. 328d2b76ef7SAndy Fiddaman.It Fl r 329d2b76ef7SAndy FiddamanApplies 330d2b76ef7SAndy Fiddaman.Nm 331d2b76ef7SAndy Fiddamanrecursively to common subdirectories encountered. 332d2b76ef7SAndy Fiddaman.It Fl s 333d2b76ef7SAndy FiddamanReports files that are identical. 334d2b76ef7SAndy FiddamanThese identical files would not otherwise be mentioned. 335d2b76ef7SAndy Fiddaman.It Fl S Ar name 336d2b76ef7SAndy FiddamanStarts a directory 337d2b76ef7SAndy Fiddaman.Nm 338d2b76ef7SAndy Fiddamanin the middle, beginning with the file 339d2b76ef7SAndy Fiddaman.Ar name . 340d2b76ef7SAndy Fiddaman.El 341d2b76ef7SAndy Fiddaman.Sh OPERANDS 342d2b76ef7SAndy FiddamanThe following operands are supported: 343d2b76ef7SAndy Fiddaman.Pp 344d2b76ef7SAndy Fiddaman.Bl -tag -offset Ds -width directory1 -compact 345d2b76ef7SAndy Fiddaman.It Ar file1 346d2b76ef7SAndy Fiddaman.It Ar file2 347d2b76ef7SAndy FiddamanA path name of a file or directory to be compared. 348d2b76ef7SAndy FiddamanIf either 349d2b76ef7SAndy Fiddaman.Ar file1 350d2b76ef7SAndy Fiddamanor 351d2b76ef7SAndy Fiddaman.Ar file2 352d2b76ef7SAndy Fiddamanis 353d2b76ef7SAndy Fiddaman.Sq \&- , 354d2b76ef7SAndy Fiddamanthe standard input will be used in its place. 355d2b76ef7SAndy Fiddaman.Pp 356d2b76ef7SAndy Fiddaman.It Ar directory1 357d2b76ef7SAndy Fiddaman.It Ar directory2 358d2b76ef7SAndy FiddamanA path name of a directory to be compared. 359d2b76ef7SAndy Fiddaman.El 360d2b76ef7SAndy Fiddaman.Pp 361d2b76ef7SAndy FiddamanIf only one of 362d2b76ef7SAndy Fiddaman.Ar file1 363d2b76ef7SAndy Fiddamanand 364d2b76ef7SAndy Fiddaman.Ar file2 365d2b76ef7SAndy Fiddamanis a directory, 366d2b76ef7SAndy Fiddaman.Nm 367d2b76ef7SAndy Fiddamanwill be applied to the non-directory file and the file contained in the 368d2b76ef7SAndy Fiddamandirectory file with a filename that is the same as the last component of the 369d2b76ef7SAndy Fiddamannon-directory file. 370d2b76ef7SAndy Fiddaman.Sh USAGE 371d2b76ef7SAndy FiddamanSee 372*bbf21555SRichard Lowe.Xr largefile 7 373d2b76ef7SAndy Fiddamanfor the description of the behavior of 374d2b76ef7SAndy Fiddaman.Nm 375d2b76ef7SAndy Fiddamanwhen encountering files greater than or equal to 2 Gbyte 376d2b76ef7SAndy Fiddaman.Pq 2^31 bytes . 377d2b76ef7SAndy Fiddaman.Sh FILES 378d2b76ef7SAndy Fiddaman.Bl -tag -width Ds 379d2b76ef7SAndy Fiddaman.It Pa /tmp/d????? 380c10c16deSRichard Lowetemporary file used for comparison 381d2b76ef7SAndy Fiddaman.It Pa /usr/lib/diffh 382d2b76ef7SAndy Fiddamanexecutable file for 383d2b76ef7SAndy Fiddaman.Fl h 384d2b76ef7SAndy Fiddamanoption 385d2b76ef7SAndy Fiddaman.El 386d2b76ef7SAndy Fiddaman.Sh EXIT STATUS 387d2b76ef7SAndy FiddamanThe following exit values are returned: 388d2b76ef7SAndy Fiddaman.Bl -tag -width Ds 389d2b76ef7SAndy Fiddaman.It 0 390d2b76ef7SAndy FiddamanNo differences were found. 391d2b76ef7SAndy Fiddaman.It 1 392d2b76ef7SAndy FiddamanDifferences were found. 393d2b76ef7SAndy Fiddaman.It >1 394d2b76ef7SAndy FiddamanAn error occurred. 395d2b76ef7SAndy Fiddaman.El 396d2b76ef7SAndy Fiddaman.Sh EXAMPLES 397d2b76ef7SAndy Fiddaman.Sy Example 1 No Typical output of the diff command 398d2b76ef7SAndy Fiddaman.Pp 399d2b76ef7SAndy FiddamanIn the following command, 400d2b76ef7SAndy Fiddaman.Ar dir1 401d2b76ef7SAndy Fiddamanis a directory containing a directory named 402d2b76ef7SAndy Fiddaman.Pa x , 403d2b76ef7SAndy Fiddaman.Ar dir2 404d2b76ef7SAndy Fiddamanis a directory containing a directory named 405d2b76ef7SAndy Fiddaman.Pa x , 406d2b76ef7SAndy Fiddaman.Pa dir1/x 407d2b76ef7SAndy Fiddamanand 408d2b76ef7SAndy Fiddaman.Pa dir2/x 409d2b76ef7SAndy Fiddamanboth contain files named 410d2b76ef7SAndy Fiddaman.Pa date.out , 411d2b76ef7SAndy Fiddamanand 412d2b76ef7SAndy Fiddaman.Pa dir2/x 413d2b76ef7SAndy Fiddamancontains a file named 414d2b76ef7SAndy Fiddaman.Pa y : 415d2b76ef7SAndy Fiddaman.Bd -literal -offset 4n 416d2b76ef7SAndy Fiddamanexample% diff -r dir1 dir2 417d2b76ef7SAndy FiddamanCommon subdirectories: dir1/x and dir2/x 418d2b76ef7SAndy FiddamanOnly in dir2/x: y 419d2b76ef7SAndy Fiddamandiff -r dir1/x/date.out dir2/x/date.out 420d2b76ef7SAndy Fiddaman1c1 421d2b76ef7SAndy Fiddaman< Mon Jul 2 13:12:16 PDT 1990 422d2b76ef7SAndy Fiddaman--- 423d2b76ef7SAndy Fiddaman> Tue Jun 19 21:41:39 PDT 1990 424d2b76ef7SAndy Fiddaman.Ed 425d2b76ef7SAndy Fiddaman.Sh ENVIRONMENT VARIABLES 426d2b76ef7SAndy FiddamanSee 427*bbf21555SRichard Lowe.Xr environ 7 428d2b76ef7SAndy Fiddamanfor descriptions of the following environment variables that affect the 429d2b76ef7SAndy Fiddamanexecution of 430d2b76ef7SAndy Fiddaman.Nm : 431d2b76ef7SAndy Fiddaman.Ev LANG , 432d2b76ef7SAndy Fiddaman.Ev LC_ALL , 433d2b76ef7SAndy Fiddaman.Ev LC_CTYPE , 434d2b76ef7SAndy Fiddaman.Ev LC_MESSAGES , 435d2b76ef7SAndy Fiddaman.Ev LC_TIME , 436d2b76ef7SAndy Fiddamanand 437d2b76ef7SAndy Fiddaman.Ev NLSPATH . 438d2b76ef7SAndy Fiddaman.Bl -tag -width Ds 439d2b76ef7SAndy Fiddaman.It Ev TZ 440d2b76ef7SAndy FiddamanDetermines the locale for affecting the timezone used for calculating file 441d2b76ef7SAndy Fiddamantimestamps written with the 442d2b76ef7SAndy Fiddaman.Fl C 443d2b76ef7SAndy Fiddamanand 444d2b76ef7SAndy Fiddaman.Fl c 445d2b76ef7SAndy Fiddamanoptions. 446d2b76ef7SAndy Fiddaman.El 447d2b76ef7SAndy Fiddaman.Sh INTERFACE STABILITY 448d2b76ef7SAndy FiddamanThe command line interface of 449d2b76ef7SAndy Fiddaman.Nm 450d2b76ef7SAndy Fiddamanis 451d2b76ef7SAndy Fiddaman.Sy Committed . 452d2b76ef7SAndy FiddamanThe output of 453d2b76ef7SAndy Fiddaman.Nm 454d2b76ef7SAndy Fiddamanis 455d2b76ef7SAndy Fiddaman.Sy Committed . 456d2b76ef7SAndy Fiddaman.Sh SEE ALSO 457d2b76ef7SAndy Fiddaman.Xr bdiff 1 , 458d2b76ef7SAndy Fiddaman.Xr cmp 1 , 459d2b76ef7SAndy Fiddaman.Xr comm 1 , 460d2b76ef7SAndy Fiddaman.Xr dircmp 1 , 461d2b76ef7SAndy Fiddaman.Xr ed 1 , 462d2b76ef7SAndy Fiddaman.Xr pr 1 , 463d2b76ef7SAndy Fiddaman.Xr sdiff 1 , 464*bbf21555SRichard Lowe.Xr attributes 7 , 465*bbf21555SRichard Lowe.Xr environ 7 , 466*bbf21555SRichard Lowe.Xr largefile 7 , 467*bbf21555SRichard Lowe.Xr standards 7 468d2b76ef7SAndy Fiddaman.Sh NOTES 469d2b76ef7SAndy FiddamanEditing scripts produced under the 470d2b76ef7SAndy Fiddaman.Fl e 471d2b76ef7SAndy Fiddamanor 472d2b76ef7SAndy Fiddaman.Fl f 473d2b76ef7SAndy Fiddamanoptions are na\(:ive about creating lines consisting of a single dot 474d2b76ef7SAndy Fiddaman.Sq \&. . 475d2b76ef7SAndy Fiddaman.Pp 476c10c16deSRichard LoweMissing NEWLINE at end of file indicates that the last line of the file in 477d2b76ef7SAndy Fiddamanquestion did not have a NEWLINE. 478d2b76ef7SAndy FiddamanIf the lines are different, they will be flagged and output, although the 479d2b76ef7SAndy Fiddamanoutput will seem to indicate they are the same. 480