.\" 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. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)uniq.1 6.4 (Berkeley) 6/27/91 .\" .Dd June 27, 1991 .Dt UNIQ .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.