File: csplit.1p

package info (click to toggle)
manpages-posix 1.67-3
  • links: PTS
  • area: non-free
  • in suites: sarge
  • size: 9,564 kB
  • ctags: 6
  • sloc: makefile: 69; sh: 37
file content (269 lines) | stat: -rw-r--r-- 8,311 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved 
.TH "CSPLIT" P 2003 POSIX
.\" csplit 
.SH NAME
csplit \- split files based on context
.SH SYNOPSIS
.LP
\fBcsplit\fP \fB[\fP\fB-ks\fP\fB][\fP\fB-f\fP \fIprefix\fP\fB][\fP\fB-n\fP
\fInumber\fP\fB]\fP \fIfile arg1\fP \fB...\fP\fIargn\fP\fB\fP
.SH DESCRIPTION
.LP
The \fIcsplit\fP utility shall read the file named by the \fIfile\fP
operand, write all or part of that file into other files
as directed by the \fIarg\fP operands, and write the sizes of the
files.
.SH OPTIONS
.LP
The \fIcsplit\fP utility shall conform to the Base Definitions volume
of IEEE\ Std\ 1003.1-2001, Section 12.2, Utility Syntax Guidelines.
.LP
The following options shall be supported:
.TP 7
\fB-f\ \fP \fIprefix\fP
Name the created files \fIprefix\fP \fB00\fP, \fIprefix\fP \fB01\fP,
\&..., \fIprefixn\fP. The default is \fBxx00\fP ...
\fBxx\fP \fIn\fP. If the \fIprefix\fP argument would create a filename
exceeding {NAME_MAX} bytes, an error shall result,
\fIcsplit\fP shall exit with a diagnostic message, and no files shall
be created.
.TP 7
\fB-k\fP
Leave previously created files intact. By default, \fIcsplit\fP shall
remove created files if an error occurs.
.TP 7
\fB-n\ \fP \fInumber\fP
Use \fInumber\fP decimal digits to form filenames for the file pieces.
The default shall be 2.
.TP 7
\fB-s\fP
Suppress the output of file size messages.
.sp
.SH OPERANDS
.LP
The following operands shall be supported:
.TP 7
\fIfile\fP
The pathname of a text file to be split. If \fIfile\fP is \fB'-'\fP
, the standard input shall be used.
.sp
.LP
The operands \fIarg1\fP ... \fIargn\fP can be a combination of the
following:
.TP 7
/\fIrexp\fP/\fB[\fP\fIoffset\fP\fB]\fP
.sp
A file shall be created using the content of the lines from the current
line up to, but not including, the line that results from
the evaluation of the regular expression with \fIoffset\fP, if any,
applied. The regular expression \fIrexp\fP shall follow the
rules for basic regular expressions described in the Base Definitions
volume of IEEE\ Std\ 1003.1-2001, Section 9.3, Basic Regular Expressions.
The application shall use the sequence
\fB"\\/"\fP to specify a slash character within the \fIrexp\fP. The
optional offset shall be a positive or negative integer
value representing a number of lines. A positive integer value can
be preceded by \fB'+'\fP . If the selection of lines from an
\fIoffset\fP expression of this type would create a file with zero
lines, or one with greater than the number of lines left in the
input file, the results are unspecified. After the section is created,
the current line shall be set to the line that results from
the evaluation of the regular expression with any offset applied.
If the current line is the first line in the file and a regular
expression operation has not yet been performed, the pattern match
of \fIrexp\fP shall be applied from the current line to the end
of the file. Otherwise, the pattern match of \fIrexp\fP shall be applied
from the line following the current line to the end of
the file.
.TP 7
%\fIrexp\fP%\fB[\fP\fIoffset\fP\fB]\fP
.sp
Equivalent to /\fIrexp\fP/\fB[\fP\fIoffset\fP\fB]\fP, except that
no file shall be created for the selected section of the
input file. The application shall use the sequence \fB"\\%"\fP to
specify a percent-sign character within the \fIrexp\fP.
.TP 7
\fIline_no\fP
Create a file from the current line up to (but not including) the
line number \fIline_no\fP. Lines in the file shall be
numbered starting at one. The current line becomes \fIline_no\fP.
.TP 7
{\fInum\fP}
Repeat operand. This operand can follow any of the operands described
previously. If it follows a \fIrexp\fP type operand,
that operand shall be applied \fInum\fP more times. If it follows
a \fIline_no\fP operand, the file shall be split every
\fIline_no\fP lines, \fInum\fP times, from that point.
.sp
.LP
An error shall be reported if an operand does not reference a line
between the current position and the end of the file.
.SH STDIN
.LP
See the INPUT FILES section.
.SH INPUT FILES
.LP
The input file shall be a text file.
.SH ENVIRONMENT VARIABLES
.LP
The following environment variables shall affect the execution of
\fIcsplit\fP:
.TP 7
\fILANG\fP
Provide a default value for the internationalization variables that
are unset or null. (See the Base Definitions volume of
IEEE\ Std\ 1003.1-2001, Section 8.2, Internationalization Variables
for
the precedence of internationalization variables used to determine
the values of locale categories.)
.TP 7
\fILC_ALL\fP
If set to a non-empty string value, override the values of all the
other internationalization variables.
.TP 7
\fILC_COLLATE\fP
.sp
Determine the locale for the behavior of ranges, equivalence classes,
and multi-character collating elements within regular
expressions.
.TP 7
\fILC_CTYPE\fP
Determine the locale for the interpretation of sequences of bytes
of text data as characters (for example, single-byte as
opposed to multi-byte characters in arguments and input files) and
the behavior of character classes within regular
expressions.
.TP 7
\fILC_MESSAGES\fP
Determine the locale that should be used to affect the format and
contents of diagnostic messages written to standard
error.
.TP 7
\fINLSPATH\fP
Determine the location of message catalogs for the processing of \fILC_MESSAGES
\&.\fP 
.sp
.SH ASYNCHRONOUS EVENTS
.LP
If the \fB-k\fP option is specified, created files shall be retained.
Otherwise, the default action occurs.
.SH STDOUT
.LP
Unless the \fB-s\fP option is used, the standard output shall consist
of one line per file created, with a format as
follows:
.sp
.RS
.nf

\fB"%d\\n", <\fP\fIfile size in bytes\fP\fB>
\fP
.fi
.RE
.SH STDERR
.LP
The standard error shall be used only for diagnostic messages.
.SH OUTPUT FILES
.LP
The output files shall contain portions of the original input file;
otherwise, unchanged.
.SH EXTENDED DESCRIPTION
.LP
None.
.SH EXIT STATUS
.LP
The following exit values shall be returned:
.TP 7
\ 0
Successful completion.
.TP 7
>0
An error occurred.
.sp
.SH CONSEQUENCES OF ERRORS
.LP
By default, created files shall be removed if an error occurs. When
the \fB-k\fP option is specified, created files shall not
be removed if an error occurs.
.LP
\fIThe following sections are informative.\fP
.SH APPLICATION USAGE
.LP
None.
.SH EXAMPLES
.IP " 1." 4
This example creates four files, \fBcobol00\fP ... \fBcobol03\fP:
.sp
.RS
.nf

\fBcsplit -f cobol file '/procedure division/' /par5./ /par16./
\fP
.fi
.RE
.LP
After editing the split files, they can be recombined as follows:
.sp
.RS
.nf

\fBcat cobol0[0-3] > file
\fP
.fi
.RE
.LP
Note that this example overwrites the original file.
.LP
.IP " 2." 4
This example would split the file after the first 99 lines, and every
100 lines thereafter, up to 9999 lines; this is because
lines in the file are numbered from 1 rather than zero, for historical
reasons:
.sp
.RS
.nf

\fBcsplit -k file  100  {99}
\fP
.fi
.RE
.LP
.IP " 3." 4
Assuming that \fBprog.c\fP follows the C-language coding convention
of ending routines with a \fB'}'\fP at the beginning of
the line, this example creates a file containing each separate C routine
(up to 21) in \fBprog.c\fP:
.sp
.RS
.nf

\fBcsplit -k prog.c '%main(%'  '/^}/+1' {20}
\fP
.fi
.RE
.LP
.SH RATIONALE
.LP
The \fB-n\fP option was added to extend the range of filenames that
could be handled.
.LP
Consideration was given to adding a \fB-a\fP flag to use the alphabetic
filename generation used by the historical \fIsplit\fP utility, but
the functionality added by the \fB-n\fP option was deemed to make
alphabetic naming unnecessary.
.SH FUTURE DIRECTIONS
.LP
None.
.SH SEE ALSO
.LP
\fIsed\fP , \fIsplit\fP
.SH COPYRIGHT
Portions of this text are reprinted and reproduced in electronic form
from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
-- Portable Operating System Interface (POSIX), The Open Group Base
Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
Electrical and Electronics Engineers, Inc and The Open Group. In the
event of any discrepancy between this version and the original IEEE and
The Open Group Standard, the original IEEE and The Open Group Standard
is the referee document. The original Standard can be obtained online at
http://www.opengroup.org/unix/online.html .