cut(1): Add back -w (split on whitespace functionality).
[dragonfly.git] / usr.bin / cut / cut.1
CommitLineData
984263bc
MD
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.
984263bc
MD
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
ec8d9685 32.\" $FreeBSD: src/usr.bin/cut/cut.1,v 1.36 2012/06/11 03:10:15 kevlo Exp $
984263bc 33.\"
ec8d9685 34.Dd August 8, 2012
984263bc
MD
35.Dt CUT 1
36.Os
37.Sh NAME
38.Nm cut
fecfcc56 39.Nd cut out selected portions of each line of a file
984263bc
MD
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
ec8d9685 50.Op Fl w | Fl d Ar delim
984263bc
MD
51.Op Fl s
52.Op Ar
53.Sh DESCRIPTION
54The
55.Nm
fecfcc56 56utility cuts out selected portions of each line (as specified by
ec8d9685 57.Ar list )
984263bc
MD
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.
fecfcc56 71Column and field numbering start from 1.
984263bc
MD
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
fecfcc56 81and select the columns or fields from the first number to the second,
984263bc
MD
82inclusive.
83Numbers or number ranges may be preceded by a dash, which selects all
fecfcc56 84columns or fields from 1 to the last number.
984263bc 85Numbers or number ranges may be followed by a dash, which selects all
fecfcc56 86columns or fields from the last number to the end of the line.
984263bc 87Numbers and number ranges may be repeated, overlapping, and in any order.
fecfcc56 88It is not an error to select columns or fields not present in the
984263bc
MD
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
fecfcc56 102Use
984263bc
MD
103.Ar delim
104as the field delimiter character instead of the tab character.
105.It Fl f Ar list
106The
107.Ar list
fecfcc56
JM
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.
984263bc
MD
114.It Fl n
115Do not split multi-byte characters.
fecfcc56
JM
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.
984263bc
MD
119.It Fl s
120Suppress lines with no field delimiter characters.
121Unless specified, lines with no delimiters are passed through unmodified.
ec8d9685
SW
122.It Fl w
123Use whitespace (spaces and tabs) as the delimiter.
124Consecutive spaces and tabs count as one single field separator.
984263bc 125.El
fecfcc56 126.Sh ENVIRONMENT
984263bc 127The
fecfcc56
JM
128.Ev LANG , LC_ALL
129and
130.Ev LC_CTYPE
131environment variables affect the execution of
984263bc 132.Nm
fecfcc56
JM
133as described in
134.Xr environ 7 .
135.Sh EXIT STATUS
136.Ex -std
137.Sh EXAMPLES
138Extract users' login names and shells from the system
139.Xr passwd 5
140file as
141.Dq name:shell
142pairs:
143.Pp
144.Dl "cut -d : -f 1,7 /etc/passwd"
145.Pp
146Show the names and login times of the currently logged in users:
147.Pp
148.Dl "who | cut -c 1-16,26-38"
984263bc 149.Sh SEE ALSO
fecfcc56 150.Xr colrm 1 ,
984263bc
MD
151.Xr paste 1
152.Sh STANDARDS
153The
154.Nm
155utility conforms to
156.St -p1003.2-92 .
fecfcc56
JM
157.Sh HISTORY
158A
159.Nm
160command appeared in
161.Tn AT&T
162System III
163.Ux .