1.\" $OpenBSD: uniq.1,v 1.9 2003/06/10 09:12:12 jmc Exp $ 2.\" $NetBSD: uniq.1,v 1.5 1994/12/06 07:51:15 jtc Exp $ 3.\" 4.\" Copyright (c) 1991, 1993 5.\" The Regents of the University of California. All rights reserved. 6.\" 7.\" This code is derived from software contributed to Berkeley by 8.\" the Institute of Electrical and Electronics Engineers, Inc. 9.\" 10.\" Redistribution and use in source and binary forms, with or without 11.\" modification, are permitted provided that the following conditions 12.\" are met: 13.\" 1. Redistributions of source code must retain the above copyright 14.\" notice, this list of conditions and the following disclaimer. 15.\" 2. Redistributions in binary form must reproduce the above copyright 16.\" notice, this list of conditions and the following disclaimer in the 17.\" documentation and/or other materials provided with the distribution. 18.\" 3. Neither the name of the University nor the names of its contributors 19.\" may be used to endorse or promote products derived from this software 20.\" without specific prior written permission. 21.\" 22.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 23.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 24.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 26.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 27.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 28.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 29.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 31.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32.\" SUCH DAMAGE. 33.\" 34.\" @(#)uniq.1 8.1 (Berkeley) 6/6/93 35.\" 36.Dd December 8, 2002 37.Dt UNIQ 1 38.Os 39.Sh NAME 40.Nm uniq 41.Nd report or filter out repeated lines in a file 42.Sh SYNOPSIS 43.Nm uniq 44.Op Fl c | Fl d | Fl u 45.Op Fl f Ar fields 46.Op Fl s Ar chars 47.Oo 48.Ar input_file 49.Op Ar output_file 50.Oc 51.Sh DESCRIPTION 52The 53.Nm 54utility reads the standard input comparing adjacent lines and writes 55a copy of each unique input line to the standard output. 56The second and succeeding copies of identical adjacent input lines are 57not written. 58Repeated lines in the input will not be detected if they are not adjacent, 59so it may be necessary to sort the files first. 60.Pp 61The options are as follows: 62.Bl -tag -width Ds 63.It Fl c 64Precede each output line with the count of the number of times the line 65occurred in the input, followed by a single space. 66.It Fl d 67Don't output lines that are not repeated in the input. 68.It Fl f Ar fields 69Ignore the first 70.Ar fields 71in each input line when doing comparisons. 72A field is a string of non-blank characters separated from adjacent fields 73by blanks. 74Field numbers are one based, i.e., the first field is field one. 75.It Fl s Ar chars 76Ignore the first 77.Ar chars 78characters in each input line when doing comparisons. 79If specified in conjunction with the 80.Fl f 81option, the first 82.Ar chars 83characters after the first 84.Ar fields 85fields will be ignored. 86Character numbers are one based, i.e., the first character is character one. 87.It Fl u 88Don't output lines that are repeated in the input. 89.\".It Fl Ns Ar n 90.\"(Deprecated; replaced by 91.\".Fl f ) . 92.\"Ignore the first n 93.\"fields on each input line when doing comparisons, 94.\"where n is a number. 95.\"A field is a string of non-blank 96.\"characters separated from adjacent fields 97.\"by blanks. 98.\".It Cm \&\(pl Ns Ar n 99.\"(Deprecated; replaced by 100.\".Fl s ) . 101.\"Ignore the first 102.\".Ar m 103.\"characters when doing comparisons, where 104.\".Ar m 105.\"is a 106.\"number. 107.El 108.Pp 109If additional arguments are specified on the command line, the first 110such argument is used as the name of an input file, the second is used 111as the name of an output file. 112A file name of 113.Ql - 114denotes the standard input or the standard output 115.Pq depending on its position on the command line . 116.Pp 117The 118.Nm 119utility exits 0 on success or >0 if an error occurred. 120.Sh SEE ALSO 121.Xr sort 1 122.Sh STANDARDS 123The historic 124.Cm \&\(pl Ns Ar number 125and 126.Fl Ns Ar number 127options have been deprecated but are still supported in this implementation. 128.Pp 129The 130.Nm 131utility is expected to be 132.St -p1003.2 133compatible. 134