NetBSD/usr.bin/uniq/uniq.1

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.