.\" Copyright (c) 1991 Regents of the University of California. .\" All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the Institute of Electrical and Electronics Engineers, Inc. .\" .\" %sccs.include.redist.roff% .\" .\" @(#)uniq.1 6.4 (Berkeley) 06/27/91 .\" .Dd .Dt UNIQ 1 .Os .Sh NAME .Nm uniq .Nd Report or filter out repeated lines in a file. .Sh SYNOPSIS .Nm uniq .Op Fl c | Fl d | Fl u .Op Fl f Ar fields .Op Fl s Ar chars .Oo .Ar input_file .Op Ar output_file .Oc .Pp Deprecated Version: .Pp .Nm uniq .Op Fl cdu .Op Fl Ns Ar n .Op Cm \(pl Ns Ar n .Oo .Ar input_file .Op Ar output_file .Oc .Sh DESCRIPTION The .Nm uniq utility reads an input file or the standard input comparing adjacent lines, and writes one copy of each input line on the output. The second and succeeding copies of repeated adjacent input lines are not written. Repeated lines in the input are not detected if they are not adjacent, so it is important to .Xr sort 1 the files first. .Pp The following options are available: .Bl -tag -width Ds .It Fl c Precede each output line with a count of the number of times the line occurred in the input. For example: .Bd -literal -offset indent duplicate_count line_number .Ed .Pp where the duplicate count is a blank padded field of up to four digits followed by a space. .It Fl d Suppress the writing of lines that are not repeated in the input. .It Fl f Ar fields Ignore the first fields on each input line when doing comparisons, where fields is a positive decimal integer. A field is a string of non-blank characters separated from adjacent fields by blanks. .It Fl s Ar chars Ignore the first chars characters when doing comparisons, where chars is a positive decimal integer. If specified in conjunction with the .Fl f option, the first chars characters after the first fields fields will be ignored. .It Fl u Suppress the writing of lines that are repeated in the input. .It Fl Ns Ar n (Deprecated; replaced by .Fl f ) . Ignore the first n fields on each input line when doing comparisons, where n is a number. A field is a string of non-blank characters separated from adjacent fields by blanks. .It Cm \&\(pl Ns Ar n (Deprecated; replaced by .Fl s ) . Ignore the first .Ar m characters when doing comparisons, where .Ar m is a number. .El .Pp The following operands are available: .Bl -tag -width output_filex .It Ar input_file A pathname of the input file. If the .Ar input_file operand is not specified, the standard input is used. .It Ar output_file A pathname of the output file. This name shall always be different from .Ar input_file. If the .Ar output_file operand is not specified, the standard output is used. If .Ar output_file is created and an error occurs or a sugnal is caught the .Ar output_file is not removed. .El .\" .Pp .\" The following environment variables affect the execution of .\" uniq: .\" .Tl Em LC_CTYPE .\" The locale for character classification, used to .\" determine the characters constituting a blank in .\" the current locale. .Pp The .Xr uniq utility exits 0 on success, and >0 if an error occurs. .Sh STANDARDS The .Xr uniq utility is expected to be .St -p1003.2 compatible.