1994-05-27 13:33:43 +01:00
|
|
|
.\" Copyright (c) 1991, 1993
|
|
|
|
.\" The 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.
|
|
|
|
.\"
|
1997-09-07 16:09:22 +01:00
|
|
|
.\" From: @(#)uniq.1 8.1 (Berkeley) 6/6/93
|
1999-08-28 02:08:13 +01:00
|
|
|
.\" $FreeBSD$
|
1994-05-27 13:33:43 +01:00
|
|
|
.\"
|
|
|
|
.Dd June 6, 1993
|
|
|
|
.Dt UNIQ 1
|
|
|
|
.Os
|
|
|
|
.Sh NAME
|
|
|
|
.Nm uniq
|
|
|
|
.Nd report or filter out repeated lines in a file
|
|
|
|
.Sh SYNOPSIS
|
1997-08-21 07:51:10 +01:00
|
|
|
.Nm
|
1994-05-27 13:33:43 +01:00
|
|
|
.Op Fl c | Fl d | Fl u
|
1997-09-07 16:09:22 +01:00
|
|
|
.Op Fl i
|
2002-05-24 20:12:02 +01:00
|
|
|
.Op Fl f Ar num
|
1994-05-27 13:33:43 +01:00
|
|
|
.Op Fl s Ar chars
|
|
|
|
.Oo
|
|
|
|
.Ar input_file
|
|
|
|
.Op Ar output_file
|
|
|
|
.Oc
|
|
|
|
.Sh DESCRIPTION
|
|
|
|
The
|
1997-08-21 07:51:10 +01:00
|
|
|
.Nm
|
2002-05-30 01:07:14 +01:00
|
|
|
utility reads the specified
|
|
|
|
.Ar input_file
|
|
|
|
comparing adjacent lines, and writes a copy of each unique input line to
|
|
|
|
the
|
|
|
|
.Ar output_file .
|
|
|
|
If
|
|
|
|
.Ar input_file
|
|
|
|
is a single dash
|
|
|
|
.Pq Sq \&-
|
|
|
|
or absent, the standard input is read.
|
|
|
|
If
|
|
|
|
.Ar output_file
|
|
|
|
is absent, standard output is used for output.
|
1994-05-27 13:33:43 +01:00
|
|
|
The second and succeeding copies of identical adjacent input lines are
|
|
|
|
not written.
|
|
|
|
Repeated lines in the input will not be detected if they are not adjacent,
|
|
|
|
so it may be necessary to sort the files first.
|
|
|
|
.Pp
|
|
|
|
The following options are available:
|
|
|
|
.Bl -tag -width Ds
|
|
|
|
.It Fl c
|
|
|
|
Precede each output line with the count of the number of times the line
|
|
|
|
occurred in the input, followed by a single space.
|
|
|
|
.It Fl d
|
1999-03-15 02:57:29 +00:00
|
|
|
Only output lines that are repeated in the input.
|
2002-05-21 17:54:58 +01:00
|
|
|
.It Fl f Ar num
|
1994-05-27 13:33:43 +01:00
|
|
|
Ignore the first
|
2002-05-21 17:54:58 +01:00
|
|
|
.Ar num
|
2002-05-24 20:12:02 +01:00
|
|
|
fields in each input line when doing comparisons.
|
1994-05-27 13:33:43 +01:00
|
|
|
A field is a string of non-blank characters separated from adjacent fields
|
|
|
|
by blanks.
|
|
|
|
Field numbers are one based, i.e. the first field is field one.
|
|
|
|
.It Fl s Ar chars
|
|
|
|
Ignore the first
|
|
|
|
.Ar chars
|
|
|
|
characters in each input line when doing comparisons.
|
|
|
|
If specified in conjunction with the
|
|
|
|
.Fl f
|
|
|
|
option, the first
|
|
|
|
.Ar chars
|
|
|
|
characters after the first
|
2002-05-21 17:54:58 +01:00
|
|
|
.Ar num
|
1994-05-27 13:33:43 +01:00
|
|
|
fields will be ignored.
|
|
|
|
Character numbers are one based, i.e. the first character is character one.
|
|
|
|
.It Fl u
|
1999-03-15 02:57:29 +00:00
|
|
|
Only output lines that are not repeated in the input.
|
1997-09-07 16:09:22 +01:00
|
|
|
.It Fl i
|
|
|
|
Case insensitive comparison of lines.
|
1994-05-27 13:33:43 +01:00
|
|
|
.\".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
|
|
|
|
If additional arguments are specified on the command line, the first
|
1999-03-15 02:57:29 +00:00
|
|
|
argument is used as the name of an input file, the second is used
|
1994-05-27 13:33:43 +01:00
|
|
|
as the name of an output file.
|
2000-03-26 16:06:46 +01:00
|
|
|
.Sh DIAGNOSTICS
|
2001-08-15 10:09:47 +01:00
|
|
|
.Ex -std
|
1994-05-27 13:33:43 +01:00
|
|
|
.Sh COMPATIBILITY
|
|
|
|
The historic
|
|
|
|
.Cm \&\(pl Ns Ar number
|
|
|
|
and
|
|
|
|
.Fl Ns Ar number
|
|
|
|
options have been deprecated but are still supported in this implementation.
|
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr sort 1
|
2002-06-10 23:59:59 +01:00
|
|
|
.Sh HISTORY
|
|
|
|
A
|
|
|
|
.Nm
|
|
|
|
command appeared in PWB UNIX.
|
1994-05-27 13:33:43 +01:00
|
|
|
.Sh STANDARDS
|
|
|
|
The
|
1997-08-21 07:51:10 +01:00
|
|
|
.Nm
|
1994-05-27 13:33:43 +01:00
|
|
|
utility is expected to be
|
|
|
|
.St -p1003.2
|
|
|
|
compatible.
|