167 lines
4.8 KiB
Groff
167 lines
4.8 KiB
Groff
.\" 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.
|