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