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