Merge branch 'vendor/GCC44'
[dragonfly.git] / usr.bin / cut / cut.1
1 .\" Copyright (c) 1989, 1990, 1993
2 .\"     The Regents of the University of California.  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 .\"
35 .\"     @(#)cut.1       8.1 (Berkeley) 6/6/93
36 .\" $FreeBSD: src/usr.bin/cut/cut.1,v 1.9.2.5 2003/05/26 12:35:35 hmp Exp $
37 .\" $DragonFly: src/usr.bin/cut/cut.1,v 1.4 2008/03/09 16:06:08 swildner Exp $
38 .\"
39 .Dd June 6, 1993
40 .Dt CUT 1
41 .Os
42 .Sh NAME
43 .Nm cut
44 .Nd select portions of each line of a file
45 .Sh SYNOPSIS
46 .Nm
47 .Fl b Ar list
48 .Op Fl n
49 .Op Ar
50 .Nm
51 .Fl c Ar list
52 .Op Ar
53 .Nm
54 .Fl f Ar list
55 .Op Fl w | Fl d Ar delim
56 .Op Fl s
57 .Op Ar
58 .Sh DESCRIPTION
59 The
60 .Nm
61 utility selects portions of each line (as specified by
62 .Ar list  )
63 from each
64 .Ar file
65 and writes them to the standard output.
66 If no
67 .Ar file
68 arguments are specified, or a file argument is a single dash
69 .Pq Sq Fl ,
70 .Nm
71 reads from the standard input.
72 The items specified by
73 .Ar list
74 can be in terms of column position or in terms of fields delimited
75 by a special character.
76 Column numbering starts from 1.
77 .Pp
78 The
79 .Ar list
80 option argument
81 is a comma or whitespace separated set of increasing numbers and/or
82 number ranges.
83 Number ranges consist of a number, a dash
84 .Pq Sq \- ,
85 and a second number
86 and select the fields or columns from the first number to the second,
87 inclusive.
88 Numbers or number ranges may be preceded by a dash, which selects all
89 fields or columns from 1 to the first number.
90 Numbers or number ranges may be followed by a dash, which selects all
91 fields or columns from the last number to the end of the line.
92 Numbers and number ranges may be repeated, overlapping, and in any order.
93 It is not an error to select fields or columns not present in the
94 input line.
95 .Pp
96 The options are as follows:
97 .Bl -tag -width indent
98 .It Fl b Ar list
99 The
100 .Ar list
101 specifies byte positions.
102 .It Fl c Ar list
103 The
104 .Ar list
105 specifies character positions.
106 .It Fl d Ar delim
107 Use the first character of
108 .Ar delim
109 as the field delimiter character instead of the tab character.
110 .It Fl f Ar list
111 The
112 .Ar list
113 specifies fields, delimited in the input by a single tab character.
114 Output fields are separated by a single tab character.
115 .It Fl n
116 Do not split multi-byte characters.
117 .It Fl s
118 Suppress lines with no field delimiter characters.
119 Unless specified, lines with no delimiters are passed through unmodified.
120 .It Fl w
121 Use whitespace (spaces and tabs) as the delimiter.
122 Consecutive spaces and tabs count as one single field separator.
123 .El
124 .Pp
125 The
126 .Nm
127 utility exits with 0 on success or 1 if an error occurred.
128 .Sh SEE ALSO
129 .Xr paste 1
130 .Sh STANDARDS
131 The
132 .Nm
133 utility conforms to
134 .St -p1003.2-92 .