xref: /freebsd/usr.bin/cut/cut.1 (revision bb15ca603fa442c72dde3f3cb8b46db6970e3950)
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.\" 4. Neither the name of the University nor the names of its contributors
16.\"    may be used to endorse or promote products derived from this software
17.\"    without specific prior written permission.
18.\"
19.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
20.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29.\" SUCH DAMAGE.
30.\"
31.\"     @(#)cut.1	8.1 (Berkeley) 6/6/93
32.\" $FreeBSD$
33.\"
34.Dd December 21, 2006
35.Dt CUT 1
36.Os
37.Sh NAME
38.Nm cut
39.Nd cut out selected portions of each line of a file
40.Sh SYNOPSIS
41.Nm
42.Fl b Ar list
43.Op Fl n
44.Op Ar
45.Nm
46.Fl c Ar list
47.Op Ar
48.Nm
49.Fl f Ar list
50.Op Fl d Ar delim
51.Op Fl s
52.Op Ar
53.Sh DESCRIPTION
54The
55.Nm
56utility cuts out selected portions of each line (as specified by
57.Ar list )
58from each
59.Ar file
60and writes them to the standard output.
61If no
62.Ar file
63arguments are specified, or a file argument is a single dash
64.Pq Sq Fl ,
65.Nm
66reads from the standard input.
67The items specified by
68.Ar list
69can be in terms of column position or in terms of fields delimited
70by a special character.
71Column numbering starts from 1.
72.Pp
73The
74.Ar list
75option argument
76is a comma or whitespace separated set of increasing numbers and/or
77number ranges.
78Number ranges consist of a number, a dash
79.Pq Sq \- ,
80and a second number
81and select the fields or columns from the first number to the second,
82inclusive.
83Numbers or number ranges may be preceded by a dash, which selects all
84fields or columns from 1 to the last number.
85Numbers or number ranges may be followed by a dash, which selects all
86fields or columns from the last number to the end of the line.
87Numbers and number ranges may be repeated, overlapping, and in any order.
88It is not an error to select fields or columns not present in the
89input line.
90.Pp
91The options are as follows:
92.Bl -tag -width indent
93.It Fl b Ar list
94The
95.Ar list
96specifies byte positions.
97.It Fl c Ar list
98The
99.Ar list
100specifies character positions.
101.It Fl d Ar delim
102Use
103.Ar delim
104as the field delimiter character instead of the tab character.
105.It Fl f Ar list
106The
107.Ar list
108specifies fields, separated in the input by the field delimiter character
109(see the
110.Fl d
111option).
112Output fields are separated by a single occurrence of the field delimiter
113character.
114.It Fl n
115Do not split multi-byte characters.
116Characters will only be output if at least one byte is selected, and,
117after a prefix of zero or more unselected bytes, the rest of the bytes
118that form the character are selected.
119.It Fl s
120Suppress lines with no field delimiter characters.
121Unless specified, lines with no delimiters are passed through unmodified.
122.El
123.Sh ENVIRONMENT
124The
125.Ev LANG , LC_ALL
126and
127.Ev LC_CTYPE
128environment variables affect the execution of
129.Nm
130as described in
131.Xr environ 7 .
132.Sh EXIT STATUS
133.Ex -std
134.Sh EXAMPLES
135Extract users' login names and shells from the system
136.Xr passwd 5
137file as
138.Dq name:shell
139pairs:
140.Pp
141.Dl "cut -d : -f 1,7 /etc/passwd"
142.Pp
143Show the names and login times of the currently logged in users:
144.Pp
145.Dl "who | cut -c 1-16,26-38"
146.Sh SEE ALSO
147.Xr colrm 1 ,
148.Xr paste 1
149.Sh STANDARDS
150The
151.Nm
152utility conforms to
153.St -p1003.2-92 .
154.Sh HISTORY
155A
156.Nm
157command appeared in
158.Tn AT&T
159System III
160.Ux .
161