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. 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 November 6, 2022 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 w | 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 and field numbering start 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 columns or fields from the first number to the second, 82inclusive. 83Numbers or number ranges may be preceded by a dash, which selects all 84columns or fields from 1 to the last number. 85Numbers or number ranges may be followed by a dash, which selects all 86columns or fields 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 columns or fields 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.It Fl w 123Use whitespace (spaces and tabs) as the delimiter. 124Consecutive spaces and tabs count as one single field separator. 125.El 126.Sh ENVIRONMENT 127The 128.Ev LANG , LC_ALL 129and 130.Ev LC_CTYPE 131environment variables affect the execution of 132.Nm 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" 149.Sh SEE ALSO 150.Xr colrm 1 , 151.Xr paste 1 152.Sh STANDARDS 153The 154.Nm 155utility conforms to 156.St -p1003.2-92 . 157.Pp 158The 159.Fl w 160flag is an extension to the specification. 161.Sh HISTORY 162A 163.Nm 164command first appeared in 165.Bx 4.3 Reno . 166.Sh AUTHORS 167.An -nosplit 168The original Bell Labs version was written by 169.An Gottfried W. R. Luderer 170and the 171.Bx 172version by 173.An Adam S. Moskowitz . 174