Print this page
13507 some man pages need update following 13405
6308 some man pages are obsolete after moving to ksh builtins

*** 41,405 **** .\" .\" .\" Copyright 1989 AT&T .\" Portions Copyright (c) 1992, X/Open Company Limited All Rights Reserved .\" Copyright (c) 1999, Sun Microsystems, Inc. All Rights Reserved .\" ! .TH CUT 1 "Apr 29, 1999" ! .SH NAME ! cut \- cut out selected fields of each line of a file ! .SH SYNOPSIS ! .LP ! .nf ! \fBcut\fR \fB-b\fR \fIlist\fR [\fB-n\fR] [\fIfile\fR]... ! .fi ! ! .LP ! .nf ! \fBcut\fR \fB-c\fR \fIlist\fR [\fIfile\fR]... ! .fi ! ! .LP ! .nf ! \fBcut\fR \fB-f\fR \fIlist\fR [\fB-d\fR \fIdelim\fR] [\fB-s\fR] [\fIfile\fR]... ! .fi ! ! .SH DESCRIPTION ! .sp ! .LP ! Use the \fBcut\fR utility to cut out columns from a table or fields from each ! line of a file; in data base parlance, it implements the projection of a ! relation. The fields as specified by \fIlist\fR can be fixed length, that is, ! character positions as on a punched card (\fB-c\fR option) or the length can ! vary from line to line and be marked with a field delimiter character like TAB ! (\fB-f\fR option). \fBcut\fR can be used as a filter. ! .sp ! .LP ! Either the \fB-b\fR, \fB-c\fR, or \fB-f\fR option must be specified. ! .sp ! .LP ! Use \fBgrep\fR(1) to make horizontal ``cuts'' (by context) through a file, or ! \fBpaste\fR(1) to put files together column-wise (that is, horizontally). To ! reorder columns in a table, use \fBcut\fR and \fBpaste\fR. ! .SH OPTIONS ! .sp ! .LP The following options are supported: ! .sp ! .ne 2 ! .na ! \fB\fIlist\fR \fR ! .ad ! .RS 13n ! A comma-separated or blank-character-separated list of integer field numbers ! (in increasing order), with optional \fB\(mi\fR to indicate ranges (for ! instance, \fB1,4,7\fR; \fB1\(mi3,8\fR; \fB\(mi5,10\fR (short for ! \fB1\(mi5,10\fR); or \fB3\(mi\fR (short for third through last field)). ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB\fR\fB-b\fR \fIlist\fR \fR ! .ad ! .RS 13n ! The \fIlist\fR following \fB-b\fR specifies byte positions (for instance, ! \fB-b1\fR\fB-72\fR would pass the first 72 bytes of each line). When \fB-b\fR ! and \fB-n\fR are used together, \fIlist\fR is adjusted so that no multi-byte ! character is split. ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB\fR\fB-c\fR \fIlist\fR \fR ! .ad ! .RS 13n ! The \fIlist\fR following \fB-c\fR specifies character positions (for instance, ! \fB-c1\fR\fB-72\fR would pass the first 72 characters of each line). ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB\fR\fB-d\fR \fIdelim\fR \fR ! .ad ! .RS 13n ! The character following \fB-d\fR is the field delimiter (\fB-f\fR option only). ! Default is \fItab\fR. Space or other characters with special meaning to the ! shell must be quoted. \fIdelim\fR can be a multi-byte character. ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB\fR\fB-f\fR \fIlist\fR \fR ! .ad ! .RS 13n ! The \fIlist\fR following \fB-f\fR is a list of fields assumed to be separated ! in the file by a delimiter character (see \fB-d\fR ); for instance, ! \fB-f1\fR\fB,7\fR copies the first and seventh field only. Lines with no field ! delimiters will be passed through intact (useful for table subheadings), unless ! \fB-s\fR is specified. ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB-n\fR \fR ! .ad ! .RS 13n ! Do not split characters. When \fB-b\fR \fIlist\fR and \fB-n\fR are used ! together, \fIlist\fR is adjusted so that no multi-byte character is split. ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB-s\fR \fR ! .ad ! .RS 13n ! Suppresses lines with no delimiter characters in case of \fB-f\fR option. Unless specified, lines with no delimiters will be passed through untouched. ! .RE ! ! .SH OPERANDS ! .sp ! .LP The following operands are supported: ! .sp ! .ne 2 ! .na ! \fB\fIfile\fR \fR ! .ad ! .RS 9n ! A path name of an input file. If no \fIfile\fR operands are specified, or if a ! \fIfile\fR operand is \fB\(mi\fR, the standard input will be used. ! .RE ! ! .SH USAGE ! .sp ! .LP ! See \fBlargefile\fR(5) for the description of the behavior of \fBcut\fR when ! encountering files greater than or equal to 2 Gbyte (2^31 bytes). ! .SH EXAMPLES ! .LP ! \fBExample 1 \fRMapping user IDs ! .sp ! .LP ! A mapping of user \fBIDs\fR to names follows: ! ! .sp ! .in +2 ! .nf ! example% \fBcut -d: -f1,5 /etc/passwd\fR ! .fi ! .in -2 ! .sp ! ! .LP ! \fBExample 2 \fRSetting current login name ! .sp ! .LP ! To set \fBname\fR to current login name: ! ! .sp ! .in +2 ! .nf ! example$ \fBname=\(gawho am i | cut -f1 -d' '\(ga\fR ! .fi ! .in -2 ! .sp ! ! .SH ENVIRONMENT VARIABLES ! .sp ! .LP ! See \fBenviron\fR(5) for descriptions of the following environment variables ! that affect the execution of \fBcut\fR: \fBLANG\fR, \fBLC_ALL\fR, ! \fBLC_CTYPE\fR, \fBLC_MESSAGES\fR, and \fBNLSPATH\fR. ! .SH EXIT STATUS ! .sp ! .LP ! The following exit values are returned: ! .sp ! .ne 2 ! .na ! \fB\fB0\fR \fR ! .ad ! .RS 7n All input files were output successfully. ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fB>0\fR \fR ! .ad ! .RS 7n An error occurred. ! .RE ! ! .SH ATTRIBUTES ! .sp ! .LP ! See \fBattributes\fR(5) for descriptions of the following attributes: ! .sp ! ! .sp ! .TS ! box; ! c | c ! l | l . ! ATTRIBUTE TYPE ATTRIBUTE VALUE ! _ ! CSI Enabled ! _ ! Interface Stability Standard ! .TE ! ! .SH SEE ALSO ! .sp ! .LP ! \fBgrep\fR(1), \fBpaste\fR(1), \fBattributes\fR(5), \fBenviron\fR(5), ! \fBlargefile\fR(5), \fBstandards\fR(5) ! .SH DIAGNOSTICS ! .sp ! .ne 2 ! .na ! \fB\fBcut: \fR\fB-n\fR\fB may only be used with \fR\fB-b\fR \fR ! .ad ! .sp .6 ! .RS 4n ! ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fBcut: \fR\fB-d\fR\fB may only be used with \fR\fB-f\fR \fR ! .ad ! .sp .6 ! .RS 4n ! ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fBcut: \fR\fB-s\fR\fB may only be used with \fR\fB-f\fR \fR ! .ad ! .sp .6 ! .RS 4n ! ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fBcut: cannot open \fR\fI<file>\fR \fR ! .ad ! .sp .6 ! .RS 4n ! Either \fIfile\fR cannot be read or does not exist. If multiple files are ! present, processing continues. ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fBcut: no delimiter specified\fR \fR ! .ad ! .sp .6 ! .RS 4n ! Missing \fIdelim\fR on \fB-d\fR option. ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fBcut: invalid delimiter\fR \fR ! .ad ! .sp .6 ! .RS 4n ! ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fBcut: no \fIlist\fR\fR\fB specified\fR \fR ! .ad ! .sp .6 ! .RS 4n ! Missing \fIlist\fR on \fB-b\fR, \fB-c\fR, or \fB-f\fR option. ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fBcut: invalid range specifier\fR \fR ! .ad ! .sp .6 ! .RS 4n ! ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fBcut: too many ranges specified\fR \fR ! .ad ! .sp .6 ! .RS 4n ! ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fBcut: range must be increasing\fR \fR ! .ad ! .sp .6 ! .RS 4n ! ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fBcut: invalid character in range\fR \fR ! .ad ! .sp .6 ! .RS 4n ! ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fBcut: internal error processing input\fR \fR ! .ad ! .sp .6 ! .RS 4n ! ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fBcut: invalid multibyte character\fR \fR ! .ad ! .sp .6 ! .RS 4n ! ! .RE ! ! .sp ! .ne 2 ! .na ! \fB\fBcut: unable to allocate enough memory\fR \fR ! .ad ! .sp .6 ! .RS 4n ! ! .RE ! --- 41,267 ---- .\" .\" .\" Copyright 1989 AT&T .\" Portions Copyright (c) 1992, X/Open Company Limited All Rights Reserved .\" Copyright (c) 1999, Sun Microsystems, Inc. All Rights Reserved + .\" Copyright 2021 OmniOS Community Edition (OmniOSce) Association. .\" ! .Dd Feb 9, 2021 ! .Dt CUT 1 ! .Os ! .Sh NAME ! .Nm cut ! .Nd cut out selected columns or fields of each line of a file ! .Sh SYNOPSIS ! .Nm ! .Fl b Ar list ! .Op Fl nN ! .Op Fl r Ar reclen ! .Oo Ar file Oc Ns ... ! .Pp ! .Nm ! .Fl c Ar list ! .Op Fl N ! .Op Fl r Ar reclen ! .Oo Ar file Oc Ns ... ! .Pp ! .Nm ! .Fl f Ar list ! .Op Fl s ! .Op Fl d Ar delim ! .Op Fl D Ar ldelim ! .Oo Ar file Oc Ns ... ! .Sh DESCRIPTION ! Use the ! .Nm ! utility to cut out columns from a table or fields from each line of a file. ! In database parlance, it implements the projection of a relation. ! The fields as specified by ! .Ar list ! can be fixed length, that is, character positions as on a punched card ! .Pq Fl c No option ! or the length can vary from line to line and be marked with a field delimiter ! character such as TAB ! .Po Fl f No option Pc . ! .Nm ! can be used as a filter. ! .Pp ! Either the ! .Fl b , ! .Fl c , ! or ! .Fl f ! option must be specified. ! .Pp ! Use ! .Xr grep 1 ! to make horizontal cuts (by context) through a file, or ! .Xr paste 1 ! to put files together column-wise (that is, horizontally). ! To reorder columns in a table, use ! .Nm cut ! and ! .Xr paste 1 . ! .Sh OPTIONS The following options are supported: ! .Bl -tag -width Ar ! .It Fl b Ar list Ns \&, Fl \-bytes Ns = Ns Ar list ! The ! .Ar list ! following ! .Fl b ! specifies byte positions (for instance, ! .Fl b Ar 1-72 ! would pass the first 72 bytes of each line). ! When ! .Fl b ! and ! .Fl n ! are used together, list is adjusted so that no multi-byte character is split. ! .It Fl c Ar list Ns \&, Fl \-characters Ns = Ns Ar list ! The ! .Ar list ! following ! .Fl c ! specifies character positions (for instance, ! .Fl c Ar 1-72 ! would pass the first 72 characters of each line). ! .It Fl d Ar delim Ns \&, Fl \-delimiter Ns = Ns Ar delim ! The character following ! .Fl d ! is the field delimiter ! .Po Fl f No option only Pc ; ! the default is the TAB character. ! Space or other characters with special meaning to the shell must be quoted. ! delim can be a multi-byte character. ! .It Fl f Ar list Ns \&, Fl \-fields Ns = Ns Ar list ! The ! .Ar list ! following ! .Fl f ! is a list of fields assumed to be separated in the file by a delimiter ! character ! .Po see Fl d Pc ; ! for instance, ! .Fl f Ar 1,7 ! copies the first and seventh field only. ! Lines with no field delimiters will be passed through intact (useful for table ! subheadings), unless ! .Fl s ! is specified. ! .It Fl n Ns \&, Fl \-split Ns \&, Fl \-nosplit ! Controls whether multi-byte characters are split with the ! .Fl b ! option. ! The default is to split characters and this can be disabled with the ! .Fl n ! or ! .Fl \-nosplit ! flag. Unless specified, lines with no delimiters will be passed through untouched. ! .It Fl r Ar reclen Ns \&, Fl R Ar reclen Ns \&, Fl \-reclen Ns = Ns Ar reclen ! If ! .Ar reclen ! is > 0, the input will be read as fixed length records of length ! .Ar reclen ! when used with the ! .Fl b ! or ! .Fl c ! options. ! .It Fl s Ns \&, Fl \-suppress Ns \&, Fl \-only-delimited ! Suppress lines which do not contain any delimiter characters ! .Po Fl f No option only Pc . ! .It Fl D Ar ldelim Ns \&, Fl \-line-delimiter Ns = Ns Ar ldelim Ns \&, Fl \-output-delimiter Ns = Ns Ar ldelim ! The line delimiter for the ! .Fl f ! option is set to ! .Ar ldelim . ! The default is the newline character. ! .It Fl N Ns \&, Fl \-newline Ns \&, Fl \-nonewline ! Controls whether to output a new-line at the end of each record when used with ! the ! .Fl b ! or ! .Fl c ! options. ! This is on by default; ! .Fl N ! turns it off and is the same as specifying ! .Fl \-nonewline . ! .El ! .Pp ! In the above options, ! .Ar list ! is a comma-separated or blank-character-separated list of integer field, byte ! or character numbers (in increasing order), with optional ! .Ar \(mi ! to indicate ranges (for instance, ! .Em 1,4,7 ; ! .Em 1\(mi3,8 ; ! .Em \(mi5,10 ! .Po short for Ar 1\(mi5,10 Pc ; ! or ! .Ar 3\(mi ! .Po short for third through last field Pc . ! ) ! .Sh OPERANDS The following operands are supported: ! .Bl -tag -width Ar ! .It Ar file ! A path name of an input file. ! If no file operands are specified, or if a file operand is \(mi, the standard ! input will be used. ! .El ! .Sh EXIT STATUS ! .Bl -tag -width Ds ! .It Sy 0 All input files were output successfully. ! .It Sy >0 An error occurred. ! .El ! .Sh EXAMPLES ! .Bl -tag -width 6 ! .It Sy Example 1 No Mapping user IDs ! .Pp ! A mapping of user IDs to names follows: ! .Bd -literal ! $ cut -d: -f1,5 /etc/passwd ! .Ed ! .It Sy Example 2 No Setting current login name ! .Pp ! To set ! .Ar name ! to current login name: ! .Bd -literal ! $ name=\(gawho am i | cut -f1 -d' '\(ga ! .Ed ! .El ! .Sh ENVIRONMENT VARIABLES ! See ! .Xr environ 5 ! for descriptions of the following environment variables ! that affect the execution of ! .Nm : ! .Ev LANG , ! .Ev LC_ALL , ! .Ev LC_CTYPE , ! .Ev LC_MESSAGES , ! .Ev LC_NUMERIC , ! and ! .Ev NLSPATH . ! .Sh INTERFACE STABILITY ! The command line interface of ! .Nm ! is ! .Sy Committed . ! The output of ! .Nm ! is ! .Sy Committed . ! .Sh SEE ALSO ! .Xr grep 1 , ! .Xr paste 1 , ! .Xr attributes 5 , ! .Xr environ 5 , ! .Xr largefile 5 , ! .Xr standards 5