[BACK]Return to uniq.1 CVS log [TXT][DIR] Up to [local] / src / usr.bin / uniq

Annotation of src/usr.bin/uniq/uniq.1, Revision 1.20

1.20    ! tb          1: .\"    $OpenBSD: uniq.1,v 1.19 2016/10/24 13:46:58 schwarze Exp $
1.1       deraadt     2: .\"    $NetBSD: uniq.1,v 1.5 1994/12/06 07:51:15 jtc Exp $
                      3: .\"
                      4: .\" Copyright (c) 1991, 1993
                      5: .\"    The Regents of the University of California.  All rights reserved.
                      6: .\"
                      7: .\" This code is derived from software contributed to Berkeley by
                      8: .\" the Institute of Electrical and Electronics Engineers, Inc.
                      9: .\"
                     10: .\" Redistribution and use in source and binary forms, with or without
                     11: .\" modification, are permitted provided that the following conditions
                     12: .\" are met:
                     13: .\" 1. Redistributions of source code must retain the above copyright
                     14: .\"    notice, this list of conditions and the following disclaimer.
                     15: .\" 2. Redistributions in binary form must reproduce the above copyright
                     16: .\"    notice, this list of conditions and the following disclaimer in the
                     17: .\"    documentation and/or other materials provided with the distribution.
1.8       millert    18: .\" 3. Neither the name of the University nor the names of its contributors
1.1       deraadt    19: .\"    may be used to endorse or promote products derived from this software
                     20: .\"    without specific prior written permission.
                     21: .\"
                     22: .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
                     23: .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                     24: .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                     25: .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
                     26: .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
                     27: .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
                     28: .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     29: .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
                     30: .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
                     31: .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
                     32: .\" SUCH DAMAGE.
                     33: .\"
                     34: .\"     @(#)uniq.1     8.1 (Berkeley) 6/6/93
                     35: .\"
1.20    ! tb         36: .Dd $Mdocdate: October 24 2016 $
1.1       deraadt    37: .Dt UNIQ 1
                     38: .Os
                     39: .Sh NAME
                     40: .Nm uniq
                     41: .Nd report or filter out repeated lines in a file
                     42: .Sh SYNOPSIS
                     43: .Nm uniq
1.20    ! tb         44: .Op Fl ci
1.14      kili       45: .Op Fl d | u
1.1       deraadt    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
                     52: .Sh DESCRIPTION
                     53: The
1.5       aaron      54: .Nm
1.3       aaron      55: utility reads the standard input comparing adjacent lines and writes
1.1       deraadt    56: a copy of each unique input line to the standard output.
                     57: The second and succeeding copies of identical adjacent input lines are
                     58: not written.
                     59: Repeated lines in the input will not be detected if they are not adjacent,
                     60: so it may be necessary to sort the files first.
                     61: .Pp
1.4       aaron      62: The options are as follows:
1.1       deraadt    63: .Bl -tag -width Ds
                     64: .It Fl c
                     65: Precede each output line with the count of the number of times the line
                     66: occurred in the input, followed by a single space.
                     67: .It Fl d
1.10      jmc        68: Only output lines which have duplicates.
1.1       deraadt    69: .It Fl f Ar fields
                     70: Ignore the first
                     71: .Ar fields
                     72: in each input line when doing comparisons.
                     73: A field is a string of non-blank characters separated from adjacent fields
1.13      kili       74: by blanks, with blanks considered part of the following field.
1.5       aaron      75: Field numbers are one based, i.e., the first field is field one.
1.20    ! tb         76: .It Fl i
        !            77: Case insensitive comparison of lines.
1.1       deraadt    78: .It Fl s Ar chars
                     79: Ignore the first
                     80: .Ar chars
                     81: characters in each input line when doing comparisons.
                     82: If specified in conjunction with the
                     83: .Fl f
                     84: option, the first
                     85: .Ar chars
                     86: characters after the first
                     87: .Ar fields
                     88: fields will be ignored.
1.5       aaron      89: Character numbers are one based, i.e., the first character is character one.
1.1       deraadt    90: .It Fl u
1.10      jmc        91: Only output lines which are unique.
1.1       deraadt    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
                    112: If additional arguments are specified on the command line, the first
                    113: such argument is used as the name of an input file, the second is used
                    114: as the name of an output file.
1.6       millert   115: A file name of
                    116: .Ql -
1.7       hugh      117: denotes the standard input or the standard output
                    118: .Pq depending on its position on the command line .
1.18      schwarze  119: .Sh ENVIRONMENT
                    120: .Bl -tag -width LC_CTYPE
                    121: .It Ev LC_CTYPE
1.19      schwarze  122: The character encoding
1.18      schwarze  123: .Xr locale 1 .
1.19      schwarze  124: It decides which byte sequences form characters
1.18      schwarze  125: and which characters are considered blank.
1.19      schwarze  126: If unset or set to
                    127: .Qq C ,
                    128: .Qq POSIX ,
                    129: or an unsupported value, each byte is treated as a character,
                    130: and only space and tab are considered blank.
1.18      schwarze  131: .El
1.17      jmc       132: .Sh EXIT STATUS
1.15      sobrado   133: .Ex -std uniq
1.5       aaron     134: .Sh SEE ALSO
                    135: .Xr sort 1
1.9       jmc       136: .Sh STANDARDS
1.11      jmc       137: The
                    138: .Nm
                    139: utility is compliant with the
1.16      jmc       140: .St -p1003.1-2008
1.11      jmc       141: specification.
1.14      kili      142: .Pp
1.20    ! tb        143: The
        !           144: .Fl i
        !           145: option and the use of
1.14      kili      146: .Fl c
                    147: in conjunction with
                    148: .Fl d
                    149: or
                    150: .Fl u
1.20    ! tb        151: are extensions to that specification.
1.11      jmc       152: .Pp
1.1       deraadt   153: The historic
1.10      jmc       154: .Cm + Ns Ar number
1.1       deraadt   155: and
                    156: .Fl Ns Ar number
                    157: options have been deprecated but are still supported in this implementation.