OSDN Git Service

4fba5874a771036d5f88f3445f3995d31d2971fc
[linuxjm/LDP_man-pages.git] / po4a / regexp / po / regexp.pot
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 #, fuzzy
7 msgid ""
8 msgstr ""
9 "Project-Id-Version: PACKAGE VERSION\n"
10 "POT-Creation-Date: 2013-03-22 01:06+0900\n"
11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
14 "Language: \n"
15 "MIME-Version: 1.0\n"
16 "Content-Type: text/plain; charset=UTF-8\n"
17 "Content-Transfer-Encoding: 8bit\n"
18
19 #. type: TH
20 #: build/C/man3/fnmatch.3:28
21 #, no-wrap
22 msgid "FNMATCH"
23 msgstr ""
24
25 #. type: TH
26 #: build/C/man3/fnmatch.3:28
27 #, no-wrap
28 msgid "2000-10-15"
29 msgstr ""
30
31 #. type: TH
32 #: build/C/man3/fnmatch.3:28 build/C/man3/glob.3:34 build/C/man3/re_comp.3:27 build/C/man3/regex.3:34
33 #, no-wrap
34 msgid "GNU"
35 msgstr ""
36
37 #. type: TH
38 #: build/C/man3/fnmatch.3:28 build/C/man3/glob.3:34 build/C/man7/glob.7:26 build/C/man3/re_comp.3:27 build/C/man3/regex.3:34 build/C/man7/regex.7:37 build/C/man3/wordexp.3:24
39 #, no-wrap
40 msgid "Linux Programmer's Manual"
41 msgstr ""
42
43 #. type: SH
44 #: build/C/man3/fnmatch.3:29 build/C/man3/glob.3:35 build/C/man7/glob.7:27 build/C/man3/re_comp.3:28 build/C/man3/regex.3:35 build/C/man7/regex.7:38 build/C/man3/wordexp.3:25
45 #, no-wrap
46 msgid "NAME"
47 msgstr ""
48
49 #. type: Plain text
50 #: build/C/man3/fnmatch.3:31
51 msgid "fnmatch - match filename or pathname"
52 msgstr ""
53
54 #. type: SH
55 #: build/C/man3/fnmatch.3:31 build/C/man3/glob.3:37 build/C/man3/re_comp.3:30 build/C/man3/regex.3:37 build/C/man3/wordexp.3:27
56 #, no-wrap
57 msgid "SYNOPSIS"
58 msgstr ""
59
60 #. type: Plain text
61 #: build/C/man3/fnmatch.3:34
62 #, no-wrap
63 msgid "B<#include E<lt>fnmatch.hE<gt>>\n"
64 msgstr ""
65
66 #. type: Plain text
67 #: build/C/man3/fnmatch.3:36
68 #, no-wrap
69 msgid ""
70 "B<int fnmatch(const char *>I<pattern>B<, const char *>I<string>B<, int "
71 ">I<flags>B<);>\n"
72 msgstr ""
73
74 #. type: SH
75 #: build/C/man3/fnmatch.3:37 build/C/man3/glob.3:49 build/C/man7/glob.7:29 build/C/man3/re_comp.3:40 build/C/man3/regex.3:53 build/C/man7/regex.7:40 build/C/man3/wordexp.3:42
76 #, no-wrap
77 msgid "DESCRIPTION"
78 msgstr ""
79
80 #. type: Plain text
81 #: build/C/man3/fnmatch.3:45
82 msgid ""
83 "The B<fnmatch>()  function checks whether the I<string> argument matches the "
84 "I<pattern> argument, which is a shell wildcard pattern."
85 msgstr ""
86
87 #. type: Plain text
88 #: build/C/man3/fnmatch.3:50
89 msgid ""
90 "The I<flags> argument modifies the behavior; it is the bitwise OR of zero or "
91 "more of the following flags:"
92 msgstr ""
93
94 #. type: TP
95 #: build/C/man3/fnmatch.3:50
96 #, no-wrap
97 msgid "B<FNM_NOESCAPE>"
98 msgstr ""
99
100 #. type: Plain text
101 #: build/C/man3/fnmatch.3:54
102 msgid ""
103 "If this flag is set, treat backslash as an ordinary character, instead of an "
104 "escape character."
105 msgstr ""
106
107 #. type: TP
108 #: build/C/man3/fnmatch.3:54
109 #, no-wrap
110 msgid "B<FNM_PATHNAME>"
111 msgstr ""
112
113 #. type: Plain text
114 #: build/C/man3/fnmatch.3:62
115 msgid ""
116 "If this flag is set, match a slash in I<string> only with a slash in "
117 "I<pattern> and not by an asterisk (*) or a question mark (?) metacharacter, "
118 "nor by a bracket expression ([]) containing a slash."
119 msgstr ""
120
121 #. type: TP
122 #: build/C/man3/fnmatch.3:62
123 #, no-wrap
124 msgid "B<FNM_PERIOD>"
125 msgstr ""
126
127 #. type: Plain text
128 #: build/C/man3/fnmatch.3:73
129 msgid ""
130 "If this flag is set, a leading period in I<string> has to be matched exactly "
131 "by a period in I<pattern>.  A period is considered to be leading if it is "
132 "the first character in I<string>, or if both B<FNM_PATHNAME> is set and the "
133 "period immediately follows a slash."
134 msgstr ""
135
136 #. type: TP
137 #: build/C/man3/fnmatch.3:73
138 #, no-wrap
139 msgid "B<FNM_FILE_NAME>"
140 msgstr ""
141
142 #. type: Plain text
143 #: build/C/man3/fnmatch.3:76
144 msgid "This is a GNU synonym for B<FNM_PATHNAME>."
145 msgstr ""
146
147 #. type: TP
148 #: build/C/man3/fnmatch.3:76
149 #, no-wrap
150 msgid "B<FNM_LEADING_DIR>"
151 msgstr ""
152
153 #. type: Plain text
154 #: build/C/man3/fnmatch.3:84
155 msgid ""
156 "If this flag (a GNU extension) is set, the pattern is considered to be "
157 "matched if it matches an initial segment of I<string> which is followed by a "
158 "slash.  This flag is mainly for the internal use of glibc and is only "
159 "implemented in certain cases."
160 msgstr ""
161
162 #. type: TP
163 #: build/C/man3/fnmatch.3:84
164 #, no-wrap
165 msgid "B<FNM_CASEFOLD>"
166 msgstr ""
167
168 #. type: Plain text
169 #: build/C/man3/fnmatch.3:88
170 msgid ""
171 "If this flag (a GNU extension) is set, the pattern is matched "
172 "case-insensitively."
173 msgstr ""
174
175 #. type: SH
176 #: build/C/man3/fnmatch.3:88 build/C/man3/glob.3:259 build/C/man3/re_comp.3:58 build/C/man3/regex.3:251 build/C/man3/wordexp.3:157
177 #, no-wrap
178 msgid "RETURN VALUE"
179 msgstr ""
180
181 #. type: Plain text
182 #: build/C/man3/fnmatch.3:95
183 msgid ""
184 "Zero if I<string> matches I<pattern>, B<FNM_NOMATCH> if there is no match or "
185 "another nonzero value if there is an error."
186 msgstr ""
187
188 #. type: SH
189 #: build/C/man3/fnmatch.3:95 build/C/man3/glob.3:273 build/C/man3/re_comp.3:66 build/C/man3/regex.3:308 build/C/man3/wordexp.3:187
190 #, no-wrap
191 msgid "CONFORMING TO"
192 msgstr ""
193
194 #. type: Plain text
195 #: build/C/man3/fnmatch.3:100
196 msgid ""
197 "POSIX.2.  The B<FNM_FILE_NAME>, B<FNM_LEADING_DIR>, and B<FNM_CASEFOLD> "
198 "flags are GNU extensions."
199 msgstr ""
200
201 #. type: SH
202 #: build/C/man3/fnmatch.3:100 build/C/man3/glob.3:316 build/C/man7/glob.7:208 build/C/man3/re_comp.3:72 build/C/man3/regex.3:310 build/C/man7/regex.7:286 build/C/man3/wordexp.3:213
203 #, no-wrap
204 msgid "SEE ALSO"
205 msgstr ""
206
207 #. type: Plain text
208 #: build/C/man3/fnmatch.3:106
209 msgid "B<sh>(1), B<glob>(3), B<scandir>(3), B<wordexp>(3), B<glob>(7)"
210 msgstr ""
211
212 #. type: SH
213 #: build/C/man3/fnmatch.3:106 build/C/man3/glob.3:327 build/C/man7/glob.7:214 build/C/man3/re_comp.3:76 build/C/man3/regex.3:316 build/C/man7/regex.7:291 build/C/man3/wordexp.3:216
214 #, no-wrap
215 msgid "COLOPHON"
216 msgstr ""
217
218 #. type: Plain text
219 #: build/C/man3/fnmatch.3:113 build/C/man3/glob.3:334 build/C/man7/glob.7:221 build/C/man3/re_comp.3:83 build/C/man3/regex.3:323 build/C/man7/regex.7:298 build/C/man3/wordexp.3:223
220 msgid ""
221 "This page is part of release 3.50 of the Linux I<man-pages> project.  A "
222 "description of the project, and information about reporting bugs, can be "
223 "found at http://www.kernel.org/doc/man-pages/."
224 msgstr ""
225
226 #. type: TH
227 #: build/C/man3/glob.3:34 build/C/man7/glob.7:26
228 #, no-wrap
229 msgid "GLOB"
230 msgstr ""
231
232 #. type: TH
233 #: build/C/man3/glob.3:34
234 #, no-wrap
235 msgid "2007-10-10"
236 msgstr ""
237
238 #. type: Plain text
239 #: build/C/man3/glob.3:37
240 msgid "glob, globfree - find pathnames matching a pattern, free memory from glob()"
241 msgstr ""
242
243 #. type: Plain text
244 #: build/C/man3/glob.3:40
245 #, no-wrap
246 msgid "B<#include E<lt>glob.hE<gt>>\n"
247 msgstr ""
248
249 #. type: Plain text
250 #: build/C/man3/glob.3:42
251 #, no-wrap
252 msgid "B<int glob(const char *>I<pattern>B<, int >I<flags>B<,>\n"
253 msgstr ""
254
255 #. type: Plain text
256 #: build/C/man3/glob.3:44
257 #, no-wrap
258 msgid ""
259 "B<         int (*>I<errfunc>B<) (const char *>I<epath>B<, int "
260 ">I<eerrno>B<),>\n"
261 msgstr ""
262
263 #. type: Plain text
264 #: build/C/man3/glob.3:46
265 #, no-wrap
266 msgid "B<         glob_t *>I<pglob>B<);>\n"
267 msgstr ""
268
269 #. type: Plain text
270 #: build/C/man3/glob.3:48
271 #, no-wrap
272 msgid "B<void globfree(glob_t *>I<pglob>B<);>\n"
273 msgstr ""
274
275 #. type: Plain text
276 #: build/C/man3/glob.3:59
277 msgid ""
278 "The B<glob>()  function searches for all the pathnames matching I<pattern> "
279 "according to the rules used by the shell (see B<glob>(7)).  No tilde "
280 "expansion or parameter substitution is done; if you want these, use "
281 "B<wordexp>(3)."
282 msgstr ""
283
284 #. type: Plain text
285 #: build/C/man3/glob.3:65
286 msgid ""
287 "The B<globfree>()  function frees the dynamically allocated storage from an "
288 "earlier call to B<glob>()."
289 msgstr ""
290
291 #. type: Plain text
292 #: build/C/man3/glob.3:76
293 msgid ""
294 "The results of a B<glob>()  call are stored in the structure pointed to by "
295 "I<pglob>.  This structure is of type I<glob_t> (declared in "
296 "I<E<lt>glob.hE<gt>>)  and includes the following elements defined by POSIX.2 "
297 "(more may be present as an extension):"
298 msgstr ""
299
300 #. type: Plain text
301 #: build/C/man3/glob.3:85
302 #, no-wrap
303 msgid ""
304 "typedef struct {\n"
305 "    size_t   gl_pathc;    /* Count of paths matched so far  */\n"
306 "    char   **gl_pathv;    /* List of matched pathnames.  */\n"
307 "    size_t   gl_offs;     /* Slots to reserve in I<gl_pathv>.  */\n"
308 "} glob_t;\n"
309 msgstr ""
310
311 #. type: Plain text
312 #: build/C/man3/glob.3:89
313 msgid "Results are stored in dynamically allocated storage."
314 msgstr ""
315
316 #. type: Plain text
317 #: build/C/man3/glob.3:95
318 msgid ""
319 "The argument I<flags> is made up of the bitwise OR of zero or more the "
320 "following symbolic constants, which modify the behavior of B<glob>():"
321 msgstr ""
322
323 #. type: TP
324 #: build/C/man3/glob.3:95
325 #, no-wrap
326 msgid "B<GLOB_ERR>"
327 msgstr ""
328
329 #. type: Plain text
330 #: build/C/man3/glob.3:103
331 msgid ""
332 "Return upon a read error (because a directory does not have read permission, "
333 "for example).  By default, B<glob>()  attempts carry on despite errors, "
334 "reading all of the directories that it can."
335 msgstr ""
336
337 #. type: TP
338 #: build/C/man3/glob.3:103
339 #, no-wrap
340 msgid "B<GLOB_MARK>"
341 msgstr ""
342
343 #. type: Plain text
344 #: build/C/man3/glob.3:106
345 msgid "Append a slash to each path which corresponds to a directory."
346 msgstr ""
347
348 #. type: TP
349 #: build/C/man3/glob.3:106
350 #, no-wrap
351 msgid "B<GLOB_NOSORT>"
352 msgstr ""
353
354 #. type: Plain text
355 #: build/C/man3/glob.3:111
356 msgid ""
357 "Don't sort the returned pathnames.  The only reason to do this is to save "
358 "processing time.  By default, the returned pathnames are sorted."
359 msgstr ""
360
361 #. type: TP
362 #: build/C/man3/glob.3:111
363 #, no-wrap
364 msgid "B<GLOB_DOOFFS>"
365 msgstr ""
366
367 #. type: Plain text
368 #: build/C/man3/glob.3:118
369 msgid ""
370 "Reserve I<pglob-E<gt>gl_offs> slots at the beginning of the list of strings "
371 "in I<pglob-E<gt>pathv>.  The reserved slots contain NULL pointers."
372 msgstr ""
373
374 #. type: TP
375 #: build/C/man3/glob.3:118
376 #, no-wrap
377 msgid "B<GLOB_NOCHECK>"
378 msgstr ""
379
380 #. type: Plain text
381 #: build/C/man3/glob.3:126
382 msgid ""
383 "If no pattern matches, return the original pattern.  By default, B<glob>()  "
384 "returns B<GLOB_NOMATCH> if there are no matches."
385 msgstr ""
386
387 #. type: TP
388 #: build/C/man3/glob.3:126
389 #, no-wrap
390 msgid "B<GLOB_APPEND>"
391 msgstr ""
392
393 #. type: Plain text
394 #: build/C/man3/glob.3:133
395 msgid ""
396 "Append the results of this call to the vector of results returned by a "
397 "previous call to B<glob>().  Do not set this flag on the first invocation of "
398 "B<glob>()."
399 msgstr ""
400
401 #. type: TP
402 #: build/C/man3/glob.3:133
403 #, no-wrap
404 msgid "B<GLOB_NOESCAPE>"
405 msgstr ""
406
407 #. type: Plain text
408 #: build/C/man3/glob.3:140
409 msgid ""
410 "Don't allow backslash (\\(aq\\e\\(aq) to be used as an escape character.  "
411 "Normally, a backslash can be used to quote the following character, "
412 "providing a mechanism to turn off the special meaning metacharacters."
413 msgstr ""
414
415 #. type: Plain text
416 #: build/C/man3/glob.3:144
417 msgid ""
418 "I<flags> may also include any of the following, which are GNU extensions and "
419 "not defined by POSIX.2:"
420 msgstr ""
421
422 #. type: TP
423 #: build/C/man3/glob.3:144
424 #, no-wrap
425 msgid "B<GLOB_PERIOD>"
426 msgstr ""
427
428 #. type: Plain text
429 #: build/C/man3/glob.3:148
430 msgid ""
431 "Allow a leading period to be matched by metacharacters.  By default, "
432 "metacharacters can't match a leading period."
433 msgstr ""
434
435 #. type: TP
436 #: build/C/man3/glob.3:148
437 #, no-wrap
438 msgid "B<GLOB_ALTDIRFUNC>"
439 msgstr ""
440
441 #. type: Plain text
442 #: build/C/man3/glob.3:158
443 msgid ""
444 "Use alternative functions I<pglob-E<gt>gl_closedir>, "
445 "I<pglob-E<gt>gl_readdir>, I<pglob-E<gt>gl_opendir>, I<pglob-E<gt>gl_lstat>, "
446 "and I<pglob-E<gt>gl_stat> for file system access instead of the normal "
447 "library functions."
448 msgstr ""
449
450 #. type: TP
451 #: build/C/man3/glob.3:158
452 #, no-wrap
453 msgid "B<GLOB_BRACE>"
454 msgstr ""
455
456 #. type: Plain text
457 #: build/C/man3/glob.3:173
458 msgid ""
459 "Expand B<csh>(1)  style brace expressions of the form B<{a,b}>.  Brace "
460 "expressions can be nested.  Thus, for example, specifying the pattern "
461 "\"{foo/{,cat,dog},bar}\" would return the same results as four separate "
462 "B<glob>()  calls using the strings: \"foo/\", \"foo/cat\", \"foo/dog\", and "
463 "\"bar\"."
464 msgstr ""
465
466 #. type: TP
467 #: build/C/man3/glob.3:173
468 #, no-wrap
469 msgid "B<GLOB_NOMAGIC>"
470 msgstr ""
471
472 #. type: Plain text
473 #: build/C/man3/glob.3:178
474 msgid ""
475 "If the pattern contains no metacharacters then it should be returned as the "
476 "sole matching word, even if there is no file with that name."
477 msgstr ""
478
479 #. type: TP
480 #: build/C/man3/glob.3:178
481 #, no-wrap
482 msgid "B<GLOB_TILDE>"
483 msgstr ""
484
485 #. type: Plain text
486 #: build/C/man3/glob.3:190
487 msgid ""
488 "Carry out tilde expansion.  If a tilde (\\(aq~\\(aq) is the only character "
489 "in the pattern, or an initial tilde is followed immediately by a slash "
490 "(\\(aq/\\(aq), then the home directory of the caller is substituted for the "
491 "tilde.  If an initial tilde is followed by a username (e.g., "
492 "\"~andrea/bin\"), then the tilde and username are substituted by the home "
493 "directory of that user.  If the username is invalid, or the home directory "
494 "cannot be determined, then no substitution is performed."
495 msgstr ""
496
497 #. type: TP
498 #: build/C/man3/glob.3:190
499 #, no-wrap
500 msgid "B<GLOB_TILDE_CHECK>"
501 msgstr ""
502
503 #. type: Plain text
504 #: build/C/man3/glob.3:201
505 msgid ""
506 "This provides behavior similar to that of B<GLOB_TILDE>.  The difference is "
507 "that if the username is invalid, or the home directory cannot be determined, "
508 "then instead of using the pattern itself as the name, B<glob>()  returns "
509 "B<GLOB_NOMATCH> to indicate an error."
510 msgstr ""
511
512 #. type: TP
513 #: build/C/man3/glob.3:201
514 #, no-wrap
515 msgid "B<GLOB_ONLYDIR>"
516 msgstr ""
517
518 #. type: Plain text
519 #: build/C/man3/glob.3:214
520 msgid ""
521 "This is a I<hint> to B<glob>()  that the caller is interested only in "
522 "directories that match the pattern.  If the implementation can easily "
523 "determine file-type information, then nondirectory files are not returned to "
524 "the caller.  However, the caller must still check that returned files are "
525 "directories.  (The purpose of this flag is merely to optimize performance "
526 "when the caller is interested only in directories.)"
527 msgstr ""
528
529 #. type: Plain text
530 #: build/C/man3/glob.3:237
531 msgid ""
532 "If I<errfunc> is not NULL, it will be called in case of an error with the "
533 "arguments I<epath>, a pointer to the path which failed, and I<eerrno>, the "
534 "value of I<errno> as returned from one of the calls to B<opendir>(3), "
535 "B<readdir>(3), or B<stat>(2).  If I<errfunc> returns nonzero, or if "
536 "B<GLOB_ERR> is set, B<glob>()  will terminate after the call to I<errfunc>."
537 msgstr ""
538
539 #. type: Plain text
540 #: build/C/man3/glob.3:244
541 msgid ""
542 "Upon successful return, I<pglob-E<gt>gl_pathc> contains the number of "
543 "matched pathnames and I<pglob-E<gt>gl_pathv> contains a pointer to the list "
544 "of pointers to matched pathnames.  The list of pointers is terminated by a "
545 "NULL pointer."
546 msgstr ""
547
548 #. type: Plain text
549 #: build/C/man3/glob.3:253
550 msgid ""
551 "It is possible to call B<glob>()  several times.  In that case, the "
552 "B<GLOB_APPEND> flag has to be set in I<flags> on the second and later "
553 "invocations."
554 msgstr ""
555
556 #. type: Plain text
557 #: build/C/man3/glob.3:259
558 msgid ""
559 "As a GNU extension, I<pglob-E<gt>gl_flags> is set to the flags specified, "
560 "B<or>ed with B<GLOB_MAGCHAR> if any metacharacters were found."
561 msgstr ""
562
563 #. type: Plain text
564 #: build/C/man3/glob.3:264
565 msgid ""
566 "On successful completion, B<glob>()  returns zero.  Other possible returns "
567 "are:"
568 msgstr ""
569
570 #. type: TP
571 #: build/C/man3/glob.3:264
572 #, no-wrap
573 msgid "B<GLOB_NOSPACE>"
574 msgstr ""
575
576 #. type: Plain text
577 #: build/C/man3/glob.3:267
578 msgid "for running out of memory,"
579 msgstr ""
580
581 #. type: TP
582 #: build/C/man3/glob.3:267
583 #, no-wrap
584 msgid "B<GLOB_ABORTED>"
585 msgstr ""
586
587 #. type: Plain text
588 #: build/C/man3/glob.3:270
589 msgid "for a read error, and"
590 msgstr ""
591
592 #. type: TP
593 #: build/C/man3/glob.3:270
594 #, no-wrap
595 msgid "B<GLOB_NOMATCH>"
596 msgstr ""
597
598 #. type: Plain text
599 #: build/C/man3/glob.3:273
600 msgid "for no found matches."
601 msgstr ""
602
603 #. type: Plain text
604 #: build/C/man3/glob.3:275
605 msgid "POSIX.2, POSIX.1-2001."
606 msgstr ""
607
608 #. type: SH
609 #: build/C/man3/glob.3:275 build/C/man7/glob.7:142 build/C/man3/re_comp.3:68
610 #, no-wrap
611 msgid "NOTES"
612 msgstr ""
613
614 #. type: Plain text
615 #: build/C/man3/glob.3:286
616 msgid ""
617 "The structure elements I<gl_pathc> and I<gl_offs> are declared as I<size_t> "
618 "in glibc 2.1, as they should be according to POSIX.2, but are declared as "
619 "I<int> in libc4, libc5 and glibc 2.0."
620 msgstr ""
621
622 #. type: SH
623 #: build/C/man3/glob.3:286 build/C/man7/regex.7:259
624 #, no-wrap
625 msgid "BUGS"
626 msgstr ""
627
628 #. type: Plain text
629 #: build/C/man3/glob.3:295
630 msgid ""
631 "The B<glob>()  function may fail due to failure of underlying function "
632 "calls, such as B<malloc>(3)  or B<opendir>(3).  These will store their error "
633 "code in I<errno>."
634 msgstr ""
635
636 #. type: SH
637 #: build/C/man3/glob.3:295 build/C/man3/wordexp.3:189
638 #, no-wrap
639 msgid "EXAMPLE"
640 msgstr ""
641
642 #. type: Plain text
643 #: build/C/man3/glob.3:297
644 msgid "One example of use is the following code, which simulates typing"
645 msgstr ""
646
647 #. type: Plain text
648 #: build/C/man3/glob.3:300
649 msgid "ls -l *.c ../*.c"
650 msgstr ""
651
652 #. type: Plain text
653 #: build/C/man3/glob.3:303
654 msgid "in the shell:"
655 msgstr ""
656
657 #. type: Plain text
658 #: build/C/man3/glob.3:307
659 #, no-wrap
660 msgid "glob_t globbuf;\n"
661 msgstr ""
662
663 #. type: Plain text
664 #: build/C/man3/glob.3:314
665 #, no-wrap
666 msgid ""
667 "globbuf.gl_offs = 2;\n"
668 "glob(\"*.c\", GLOB_DOOFFS, NULL, &globbuf);\n"
669 "glob(\"../*.c\", GLOB_DOOFFS | GLOB_APPEND, NULL, &globbuf);\n"
670 "globbuf.gl_pathv[0] = \"ls\";\n"
671 "globbuf.gl_pathv[1] = \"-l\";\n"
672 "execvp(\"ls\", &globbuf.gl_pathv[0]);\n"
673 msgstr ""
674
675 #. type: Plain text
676 #: build/C/man3/glob.3:327
677 msgid ""
678 "B<ls>(1), B<sh>(1), B<stat>(2), B<exec>(3), B<fnmatch>(3), B<malloc>(3), "
679 "B<opendir>(3), B<readdir>(3), B<wordexp>(3), B<glob>(7)"
680 msgstr ""
681
682 #. type: TH
683 #: build/C/man7/glob.7:26
684 #, no-wrap
685 msgid "2012-07-28"
686 msgstr ""
687
688 #. type: TH
689 #: build/C/man7/glob.7:26
690 #, no-wrap
691 msgid "Linux"
692 msgstr ""
693
694 #. type: Plain text
695 #: build/C/man7/glob.7:29
696 msgid "glob - globbing pathnames"
697 msgstr ""
698
699 #. type: Plain text
700 #: build/C/man7/glob.7:34
701 msgid ""
702 "Long ago, in UNIX V6, there was a program I</etc/glob> that would expand "
703 "wildcard patterns.  Soon afterward this became a shell built-in."
704 msgstr ""
705
706 #. type: Plain text
707 #: build/C/man7/glob.7:38
708 msgid ""
709 "These days there is also a library routine B<glob>(3)  that will perform "
710 "this function for a user program."
711 msgstr ""
712
713 #. type: Plain text
714 #: build/C/man7/glob.7:40
715 msgid "The rules are as follows (POSIX.2, 3.13)."
716 msgstr ""
717
718 #. type: SS
719 #: build/C/man7/glob.7:40
720 #, no-wrap
721 msgid "Wildcard matching"
722 msgstr ""
723
724 #. type: Plain text
725 #: build/C/man7/glob.7:47
726 msgid ""
727 "A string is a wildcard pattern if it contains one of the characters "
728 "\\(aq?\\(aq, \\(aq*\\(aq or \\(aq[\\(aq.  Globbing is the operation that "
729 "expands a wildcard pattern into the list of pathnames matching the pattern.  "
730 "Matching is defined by:"
731 msgstr ""
732
733 #. type: Plain text
734 #: build/C/man7/glob.7:49
735 msgid "A \\(aq?\\(aq (not between brackets) matches any single character."
736 msgstr ""
737
738 #. type: Plain text
739 #: build/C/man7/glob.7:52
740 msgid ""
741 "A \\(aq*\\(aq (not between brackets) matches any string, including the empty "
742 "string."
743 msgstr ""
744
745 #. type: Plain text
746 #: build/C/man7/glob.7:54
747 msgid "B<Character classes>"
748 msgstr ""
749
750 #. type: Plain text
751 #: build/C/man7/glob.7:63
752 msgid ""
753 "An expression \"I<[...]>\" where the first character after the leading "
754 "\\(aq[\\(aq is not an \\(aq!\\(aq matches a single character, namely any of "
755 "the characters enclosed by the brackets.  The string enclosed by the "
756 "brackets cannot be empty; therefore \\(aq]\\(aq can be allowed between the "
757 "brackets, provided that it is the first character.  (Thus, \"I<[][!]>\" "
758 "matches the three characters \\(aq[\\(aq, \\(aq]\\(aq and \\(aq!\\(aq.)"
759 msgstr ""
760
761 #. type: Plain text
762 #: build/C/man7/glob.7:65
763 msgid "B<Ranges>"
764 msgstr ""
765
766 #. type: Plain text
767 #: build/C/man7/glob.7:76
768 msgid ""
769 "There is one special convention: two characters separated by \\(aq-\\(aq "
770 "denote a range.  (Thus, \"I<[A-Fa-f0-9]>\" is equivalent to "
771 "\"I<[ABCDEFabcdef0123456789]>\".)  One may include \\(aq-\\(aq in its "
772 "literal meaning by making it the first or last character between the "
773 "brackets.  (Thus, \"I<[]-]>\" matches just the two characters \\(aq]\\(aq "
774 "and \\(aq-\\(aq, and \"I<[--0]>\" matches the three characters \\(aq-\\(aq, "
775 "\\(aq.\\(aq, \\(aq0\\(aq, since \\(aq/\\(aq cannot be matched.)"
776 msgstr ""
777
778 #. type: Plain text
779 #: build/C/man7/glob.7:78
780 msgid "B<Complementation>"
781 msgstr ""
782
783 #. type: Plain text
784 #: build/C/man7/glob.7:84
785 msgid ""
786 "An expression \"I<[!...]>\" matches a single character, namely any character "
787 "that is not matched by the expression obtained by removing the first "
788 "\\(aq!\\(aq from it.  (Thus, \"I<[!]a-]>\" matches any single character "
789 "except \\(aq]\\(aq, \\(aqa\\(aq and \\(aq-\\(aq.)"
790 msgstr ""
791
792 #. type: Plain text
793 #: build/C/man7/glob.7:91
794 msgid ""
795 "One can remove the special meaning of \\(aq?\\(aq, \\(aq*\\(aq and "
796 "\\(aq[\\(aq by preceding them by a backslash, or, in case this is part of a "
797 "shell command line, enclosing them in quotes.  Between brackets these "
798 "characters stand for themselves.  Thus, \"I<[[?*\\e]>\" matches the four "
799 "characters \\(aq[\\(aq, \\(aq?\\(aq, \\(aq*\\(aq and \\(aq\\e\\(aq."
800 msgstr ""
801
802 #. type: SS
803 #: build/C/man7/glob.7:91
804 #, no-wrap
805 msgid "Pathnames"
806 msgstr ""
807
808 #. type: Plain text
809 #: build/C/man7/glob.7:98
810 msgid ""
811 "Globbing is applied on each of the components of a pathname separately.  A "
812 "\\(aq/\\(aq in a pathname cannot be matched by a \\(aq?\\(aq or \\(aq*\\(aq "
813 "wildcard, or by a range like \"I<[.-0]>\".  A range cannot contain an "
814 "explicit \\(aq/\\(aq character; this would lead to a syntax error."
815 msgstr ""
816
817 #. type: Plain text
818 #: build/C/man7/glob.7:103
819 msgid ""
820 "If a filename starts with a \\(aq.\\(aq, this character must be matched "
821 "explicitly.  (Thus, I<rm\\ *> will not remove .profile, and I<tar\\ c\\ *> "
822 "will not archive all your files; I<tar\\ c\\ .> is better.)"
823 msgstr ""
824
825 #. type: SS
826 #: build/C/man7/glob.7:103
827 #, no-wrap
828 msgid "Empty lists"
829 msgstr ""
830
831 #. type: Plain text
832 #: build/C/man7/glob.7:109
833 msgid ""
834 "The nice and simple rule given above: \"expand a wildcard pattern into the "
835 "list of matching pathnames\" was the original UNIX definition.  It allowed "
836 "one to have patterns that expand into an empty list, as in"
837 msgstr ""
838
839 #. type: Plain text
840 #: build/C/man7/glob.7:112
841 #, no-wrap
842 msgid "    xv -wait 0 *.gif *.jpg\n"
843 msgstr ""
844
845 #. type: Plain text
846 #: build/C/man7/glob.7:122
847 msgid ""
848 "where perhaps no *.gif files are present (and this is not an error).  "
849 "However, POSIX requires that a wildcard pattern is left unchanged when it is "
850 "syntactically incorrect, or the list of matching pathnames is empty.  With "
851 "I<bash> one can force the classical behavior using this command:"
852 msgstr ""
853
854 #.  In Bash v1, by setting allow_null_glob_expansion=true
855 #. type: Plain text
856 #: build/C/man7/glob.7:125
857 #, no-wrap
858 msgid "    shopt -s nullglob\n"
859 msgstr ""
860
861 #. type: Plain text
862 #: build/C/man7/glob.7:128
863 msgid "(Similar problems occur elsewhere.  E.g., where old scripts have"
864 msgstr ""
865
866 #. type: Plain text
867 #: build/C/man7/glob.7:131
868 #, no-wrap
869 msgid "    rm \\`find . -name \"*~\"\\`\n"
870 msgstr ""
871
872 #. type: Plain text
873 #: build/C/man7/glob.7:134
874 msgid "new scripts require"
875 msgstr ""
876
877 #. type: Plain text
878 #: build/C/man7/glob.7:137
879 #, no-wrap
880 msgid "    rm -f nosuchfile \\`find . -name \"*~\"\\`\n"
881 msgstr ""
882
883 #. type: Plain text
884 #: build/C/man7/glob.7:142
885 msgid "to avoid error messages from I<rm> called with an empty argument list.)"
886 msgstr ""
887
888 #. type: SS
889 #: build/C/man7/glob.7:143
890 #, no-wrap
891 msgid "Regular expressions"
892 msgstr ""
893
894 #. type: Plain text
895 #: build/C/man7/glob.7:150
896 msgid ""
897 "Note that wildcard patterns are not regular expressions, although they are a "
898 "bit similar.  First of all, they match filenames, rather than text, and "
899 "secondly, the conventions are not the same: for example, in a regular "
900 "expression \\(aq*\\(aq means zero or more copies of the preceding thing."
901 msgstr ""
902
903 #. type: Plain text
904 #: build/C/man7/glob.7:154
905 msgid ""
906 "Now that regular expressions have bracket expressions where the negation is "
907 "indicated by a \\(aq^\\(aq, POSIX has declared the effect of a wildcard "
908 "pattern \"I<[^...]>\" to be undefined."
909 msgstr ""
910
911 #. type: SS
912 #: build/C/man7/glob.7:154
913 #, no-wrap
914 msgid "Character classes and internationalization"
915 msgstr ""
916
917 #. type: Plain text
918 #: build/C/man7/glob.7:172
919 msgid ""
920 "Of course ranges were originally meant to be ASCII ranges, so that \"I<[\\ "
921 "-%]>\" stands for \"I<[\\ !\"#$%]>\" and \"I<[a-z]>\" stands for \"any "
922 "lowercase letter\".  Some UNIX implementations generalized this so that a "
923 "range X-Y stands for the set of characters with code between the codes for X "
924 "and for Y.  However, this requires the user to know the character coding in "
925 "use on the local system, and moreover, is not convenient if the collating "
926 "sequence for the local alphabet differs from the ordering of the character "
927 "codes.  Therefore, POSIX extended the bracket notation greatly, both for "
928 "wildcard patterns and for regular expressions.  In the above we saw three "
929 "types of items that can occur in a bracket expression: namely (i) the "
930 "negation, (ii) explicit single characters, and (iii) ranges.  POSIX "
931 "specifies ranges in an internationally more useful way and adds three more "
932 "types:"
933 msgstr ""
934
935 #. type: Plain text
936 #: build/C/man7/glob.7:178
937 msgid ""
938 "(iii) Ranges X-Y comprise all characters that fall between X and Y "
939 "(inclusive) in the current collating sequence as defined by the "
940 "B<LC_COLLATE> category in the current locale."
941 msgstr ""
942
943 #. type: Plain text
944 #: build/C/man7/glob.7:180
945 msgid "(iv) Named character classes, like"
946 msgstr ""
947
948 #. type: Plain text
949 #: build/C/man7/glob.7:185
950 #, no-wrap
951 msgid ""
952 "[:alnum:]  [:alpha:]  [:blank:]  [:cntrl:]\n"
953 "[:digit:]  [:graph:]  [:lower:]  [:print:]\n"
954 "[:punct:]  [:space:]  [:upper:]  [:xdigit:]\n"
955 msgstr ""
956
957 #. type: Plain text
958 #: build/C/man7/glob.7:194
959 msgid ""
960 "so that one can say \"I<[[:lower:]]>\" instead of \"I<[a-z]>\", and have "
961 "things work in Denmark, too, where there are three letters past \\(aqz\\(aq "
962 "in the alphabet.  These character classes are defined by the B<LC_CTYPE> "
963 "category in the current locale."
964 msgstr ""
965
966 #. type: Plain text
967 #: build/C/man7/glob.7:200
968 msgid ""
969 "(v) Collating symbols, like \"I<[.ch.]>\" or \"I<[.a-acute.]>\", where the "
970 "string between \"I<[.>\" and \"I<.]>\" is a collating element defined for "
971 "the current locale.  Note that this may be a multicharacter element."
972 msgstr ""
973
974 #. type: Plain text
975 #: build/C/man7/glob.7:208
976 msgid ""
977 "(vi) Equivalence class expressions, like \"I<[=a=]>\", where the string "
978 "between \"I<[=>\" and \"I<=]>\" is any collating element from its "
979 "equivalence class, as defined for the current locale.  For example, "
980 "\"I<[[=a=]]>\" might be equivalent to \"I<[a\\('a\\(`a\\(:a\\(^a]>\", that "
981 "is, to \"I<[a[.a-acute.][.a-grave.][.a-umlaut.][.a-circumflex.]]>\"."
982 msgstr ""
983
984 #. type: Plain text
985 #: build/C/man7/glob.7:214
986 msgid "B<sh>(1), B<fnmatch>(3), B<glob>(3), B<locale>(7), B<regex>(7)"
987 msgstr ""
988
989 #. type: TH
990 #: build/C/man3/re_comp.3:27
991 #, no-wrap
992 msgid "RE_COMP"
993 msgstr ""
994
995 #. type: TH
996 #: build/C/man3/re_comp.3:27
997 #, no-wrap
998 msgid "1995-07-14"
999 msgstr ""
1000
1001 #. type: Plain text
1002 #: build/C/man3/re_comp.3:30
1003 msgid "re_comp, re_exec - BSD regex functions"
1004 msgstr ""
1005
1006 #. type: Plain text
1007 #: build/C/man3/re_comp.3:32
1008 msgid "B<#define _REGEX_RE_COMP>"
1009 msgstr ""
1010
1011 #. type: Plain text
1012 #: build/C/man3/re_comp.3:34
1013 msgid "B<#include E<lt>sys/types.hE<gt>>"
1014 msgstr ""
1015
1016 #. type: Plain text
1017 #: build/C/man3/re_comp.3:36
1018 msgid "B<#include E<lt>regex.hE<gt>>"
1019 msgstr ""
1020
1021 #. type: Plain text
1022 #: build/C/man3/re_comp.3:38
1023 msgid "B<char *re_comp(char *>I<regex>B<);>"
1024 msgstr ""
1025
1026 #. type: Plain text
1027 #: build/C/man3/re_comp.3:40
1028 msgid "B<int re_exec(char *>I<string>B<);>"
1029 msgstr ""
1030
1031 #. type: Plain text
1032 #: build/C/man3/re_comp.3:52
1033 msgid ""
1034 "B<re_comp>()  is used to compile the null-terminated regular expression "
1035 "pointed to by I<regex>.  The compiled pattern occupies a static area, the "
1036 "pattern buffer, which is overwritten by subsequent use of B<re_comp>().  If "
1037 "I<regex> is NULL, no operation is performed and the pattern buffer's "
1038 "contents are not altered."
1039 msgstr ""
1040
1041 #. type: Plain text
1042 #: build/C/man3/re_comp.3:58
1043 msgid ""
1044 "B<re_exec>()  is used to assess whether the null-terminated string pointed "
1045 "to by I<string> matches the previously compiled I<regex>."
1046 msgstr ""
1047
1048 #. type: Plain text
1049 #: build/C/man3/re_comp.3:63
1050 msgid ""
1051 "B<re_comp>()  returns NULL on successful compilation of I<regex> otherwise "
1052 "it returns a pointer to an appropriate error message."
1053 msgstr ""
1054
1055 #. type: Plain text
1056 #: build/C/man3/re_comp.3:66
1057 msgid "B<re_exec>()  returns 1 for a successful match, zero for failure."
1058 msgstr ""
1059
1060 #. type: Plain text
1061 #: build/C/man3/re_comp.3:68
1062 msgid "4.3BSD."
1063 msgstr ""
1064
1065 #. type: Plain text
1066 #: build/C/man3/re_comp.3:72
1067 msgid ""
1068 "These functions are obsolete; the functions documented in B<regcomp>(3)  "
1069 "should be used instead."
1070 msgstr ""
1071
1072 #. type: Plain text
1073 #: build/C/man3/re_comp.3:76
1074 msgid "B<regcomp>(3), B<regex>(7), GNU regex manual"
1075 msgstr ""
1076
1077 #. type: TH
1078 #: build/C/man3/regex.3:34 build/C/man7/regex.7:37
1079 #, no-wrap
1080 msgid "REGEX"
1081 msgstr ""
1082
1083 #. type: TH
1084 #: build/C/man3/regex.3:34
1085 #, no-wrap
1086 msgid "2013-02-11"
1087 msgstr ""
1088
1089 #. type: Plain text
1090 #: build/C/man3/regex.3:37
1091 msgid "regcomp, regexec, regerror, regfree - POSIX regex functions"
1092 msgstr ""
1093
1094 #. type: Plain text
1095 #: build/C/man3/regex.3:41
1096 #, no-wrap
1097 msgid ""
1098 "B<#include E<lt>sys/types.hE<gt>>\n"
1099 "B<#include E<lt>regex.hE<gt>>\n"
1100 msgstr ""
1101
1102 #. type: Plain text
1103 #: build/C/man3/regex.3:43
1104 #, no-wrap
1105 msgid ""
1106 "B<int regcomp(regex_t *>I<preg>B<, const char *>I<regex>B<, int "
1107 ">I<cflags>B<);>\n"
1108 msgstr ""
1109
1110 #. type: Plain text
1111 #: build/C/man3/regex.3:47
1112 #, no-wrap
1113 msgid ""
1114 "B<int regexec(const regex_t *>I<preg>B<, const char *>I<string>B<, size_t "
1115 ">I<nmatch>B<,>\n"
1116 "B<            regmatch_t >I<pmatch[]>B<, int >I<eflags>B<);>\n"
1117 msgstr ""
1118
1119 #. type: Plain text
1120 #: build/C/man3/regex.3:50
1121 #, no-wrap
1122 msgid ""
1123 "B<size_t regerror(int >I<errcode>B<, const regex_t *>I<preg>B<, char "
1124 "*>I<errbuf>B<,>\n"
1125 "B<                size_t >I<errbuf_size>B<);>\n"
1126 msgstr ""
1127
1128 #. type: Plain text
1129 #: build/C/man3/regex.3:52
1130 #, no-wrap
1131 msgid "B<void regfree(regex_t *>I<preg>B<);>\n"
1132 msgstr ""
1133
1134 #. type: SS
1135 #: build/C/man3/regex.3:54
1136 #, no-wrap
1137 msgid "POSIX regex compiling"
1138 msgstr ""
1139
1140 #. type: Plain text
1141 #: build/C/man3/regex.3:60
1142 msgid ""
1143 "B<regcomp>()  is used to compile a regular expression into a form that is "
1144 "suitable for subsequent B<regexec>()  searches."
1145 msgstr ""
1146
1147 #. type: Plain text
1148 #: build/C/man3/regex.3:69
1149 msgid ""
1150 "B<regcomp>()  is supplied with I<preg>, a pointer to a pattern buffer "
1151 "storage area; I<regex>, a pointer to the null-terminated string and "
1152 "I<cflags>, flags used to determine the type of compilation."
1153 msgstr ""
1154
1155 #. type: Plain text
1156 #: build/C/man3/regex.3:76
1157 msgid ""
1158 "All regular expression searching must be done via a compiled pattern buffer, "
1159 "thus B<regexec>()  must always be supplied with the address of a "
1160 "B<regcomp>()  initialized pattern buffer."
1161 msgstr ""
1162
1163 #. type: Plain text
1164 #: build/C/man3/regex.3:81
1165 msgid "I<cflags> may be the bitwise-B<or> of one or more of the following:"
1166 msgstr ""
1167
1168 #. type: TP
1169 #: build/C/man3/regex.3:81
1170 #, no-wrap
1171 msgid "B<REG_EXTENDED>"
1172 msgstr ""
1173
1174 #. type: Plain text
1175 #: build/C/man3/regex.3:90
1176 msgid ""
1177 "Use B<POSIX> Extended Regular Expression syntax when interpreting I<regex>.  "
1178 "If not set, B<POSIX> Basic Regular Expression syntax is used."
1179 msgstr ""
1180
1181 #. type: TP
1182 #: build/C/man3/regex.3:90
1183 #, no-wrap
1184 msgid "B<REG_ICASE>"
1185 msgstr ""
1186
1187 #. type: Plain text
1188 #: build/C/man3/regex.3:96
1189 msgid ""
1190 "Do not differentiate case.  Subsequent B<regexec>()  searches using this "
1191 "pattern buffer will be case insensitive."
1192 msgstr ""
1193
1194 #. type: TP
1195 #: build/C/man3/regex.3:96
1196 #, no-wrap
1197 msgid "B<REG_NOSUB>"
1198 msgstr ""
1199
1200 #. type: Plain text
1201 #: build/C/man3/regex.3:106
1202 msgid ""
1203 "Do not report position of matches.  The I<nmatch> and I<pmatch> arguments to "
1204 "B<regexec>()  are ignored if the pattern buffer supplied was compiled with "
1205 "this flag set."
1206 msgstr ""
1207
1208 #. type: TP
1209 #: build/C/man3/regex.3:106
1210 #, no-wrap
1211 msgid "B<REG_NEWLINE>"
1212 msgstr ""
1213
1214 #. type: Plain text
1215 #: build/C/man3/regex.3:109
1216 msgid "Match-any-character operators don't match a newline."
1217 msgstr ""
1218
1219 #. type: Plain text
1220 #: build/C/man3/regex.3:113
1221 msgid ""
1222 "A nonmatching list (B<[^...]>)  not containing a newline does not match a "
1223 "newline."
1224 msgstr ""
1225
1226 #. type: Plain text
1227 #: build/C/man3/regex.3:123
1228 msgid ""
1229 "Match-beginning-of-line operator (B<^>)  matches the empty string "
1230 "immediately after a newline, regardless of whether I<eflags>, the execution "
1231 "flags of B<regexec>(), contains B<REG_NOTBOL>."
1232 msgstr ""
1233
1234 #. type: Plain text
1235 #: build/C/man3/regex.3:131
1236 msgid ""
1237 "Match-end-of-line operator (B<$>)  matches the empty string immediately "
1238 "before a newline, regardless of whether I<eflags> contains B<REG_NOTEOL>."
1239 msgstr ""
1240
1241 #. type: SS
1242 #: build/C/man3/regex.3:131
1243 #, no-wrap
1244 msgid "POSIX regex matching"
1245 msgstr ""
1246
1247 #. type: Plain text
1248 #: build/C/man3/regex.3:148
1249 msgid ""
1250 "B<regexec>()  is used to match a null-terminated string against the "
1251 "precompiled pattern buffer, I<preg>.  I<nmatch> and I<pmatch> are used to "
1252 "provide information regarding the location of any matches.  I<eflags> may be "
1253 "the bitwise-B<or> of one or both of B<REG_NOTBOL> and B<REG_NOTEOL> which "
1254 "cause changes in matching behavior described below."
1255 msgstr ""
1256
1257 #. type: TP
1258 #: build/C/man3/regex.3:148
1259 #, no-wrap
1260 msgid "B<REG_NOTBOL>"
1261 msgstr ""
1262
1263 #. type: Plain text
1264 #: build/C/man3/regex.3:158
1265 msgid ""
1266 "The match-beginning-of-line operator always fails to match (but see the "
1267 "compilation flag B<REG_NEWLINE> above)  This flag may be used when different "
1268 "portions of a string are passed to B<regexec>()  and the beginning of the "
1269 "string should not be interpreted as the beginning of the line."
1270 msgstr ""
1271
1272 #. type: TP
1273 #: build/C/man3/regex.3:158
1274 #, no-wrap
1275 msgid "B<REG_NOTEOL>"
1276 msgstr ""
1277
1278 #. type: Plain text
1279 #: build/C/man3/regex.3:164
1280 msgid ""
1281 "The match-end-of-line operator always fails to match (but see the "
1282 "compilation flag B<REG_NEWLINE> above)"
1283 msgstr ""
1284
1285 #. type: SS
1286 #: build/C/man3/regex.3:164
1287 #, no-wrap
1288 msgid "Byte offsets"
1289 msgstr ""
1290
1291 #. type: Plain text
1292 #: build/C/man3/regex.3:189
1293 msgid ""
1294 "Unless B<REG_NOSUB> was set for the compilation of the pattern buffer, it is "
1295 "possible to obtain match addressing information.  I<pmatch> must be "
1296 "dimensioned to have at least I<nmatch> elements.  These are filled in by "
1297 "B<regexec>()  with substring match addresses.  The offsets of the "
1298 "subexpression starting at the I<i>th open parenthesis are stored in "
1299 "I<pmatch[i]>.  The entire regular expression's match addresses are stored in "
1300 "I<pmatch[0]>.  (Note that to return the offsets of I<N> subexpression "
1301 "matches, I<nmatch> must be at least I<N+1>.)  Any unused structure elements "
1302 "will contain the value -1."
1303 msgstr ""
1304
1305 #. type: Plain text
1306 #: build/C/man3/regex.3:196
1307 msgid ""
1308 "The I<regmatch_t> structure which is the type of I<pmatch> is defined in "
1309 "I<E<lt>regex.hE<gt>>."
1310 msgstr ""
1311
1312 #. type: Plain text
1313 #: build/C/man3/regex.3:203
1314 #, no-wrap
1315 msgid ""
1316 "typedef struct {\n"
1317 "    regoff_t rm_so;\n"
1318 "    regoff_t rm_eo;\n"
1319 "} regmatch_t;\n"
1320 msgstr ""
1321
1322 #. type: Plain text
1323 #: build/C/man3/regex.3:214
1324 msgid ""
1325 "Each I<rm_so> element that is not -1 indicates the start offset of the next "
1326 "largest substring match within the string.  The relative I<rm_eo> element "
1327 "indicates the end offset of the match, which is the offset of the first "
1328 "character after the matching text."
1329 msgstr ""
1330
1331 #. type: SS
1332 #: build/C/man3/regex.3:214
1333 #, no-wrap
1334 msgid "POSIX error reporting"
1335 msgstr ""
1336
1337 #. type: Plain text
1338 #: build/C/man3/regex.3:221
1339 msgid ""
1340 "B<regerror>()  is used to turn the error codes that can be returned by both "
1341 "B<regcomp>()  and B<regexec>()  into error message strings."
1342 msgstr ""
1343
1344 #. type: Plain text
1345 #: build/C/man3/regex.3:243
1346 msgid ""
1347 "B<regerror>()  is passed the error code, I<errcode>, the pattern buffer, "
1348 "I<preg>, a pointer to a character string buffer, I<errbuf>, and the size of "
1349 "the string buffer, I<errbuf_size>.  It returns the size of the I<errbuf> "
1350 "required to contain the null-terminated error message string.  If both "
1351 "I<errbuf> and I<errbuf_size> are nonzero, I<errbuf> is filled in with the "
1352 "first I<errbuf_size - 1> characters of the error message and a terminating "
1353 "null byte (\\(aq\\e0\\(aq)."
1354 msgstr ""
1355
1356 #. type: SS
1357 #: build/C/man3/regex.3:243
1358 #, no-wrap
1359 msgid "POSIX pattern buffer freeing"
1360 msgstr ""
1361
1362 #. type: Plain text
1363 #: build/C/man3/regex.3:251
1364 msgid ""
1365 "Supplying B<regfree>()  with a precompiled pattern buffer, I<preg> will free "
1366 "the memory allocated to the pattern buffer by the compiling process, "
1367 "B<regcomp>()."
1368 msgstr ""
1369
1370 #. type: Plain text
1371 #: build/C/man3/regex.3:254
1372 msgid ""
1373 "B<regcomp>()  returns zero for a successful compilation or an error code for "
1374 "failure."
1375 msgstr ""
1376
1377 #. type: Plain text
1378 #: build/C/man3/regex.3:259
1379 msgid ""
1380 "B<regexec>()  returns zero for a successful match or B<REG_NOMATCH> for "
1381 "failure."
1382 msgstr ""
1383
1384 #. type: SH
1385 #: build/C/man3/regex.3:259
1386 #, no-wrap
1387 msgid "ERRORS"
1388 msgstr ""
1389
1390 #. type: Plain text
1391 #: build/C/man3/regex.3:262
1392 msgid "The following errors can be returned by B<regcomp>():"
1393 msgstr ""
1394
1395 #. type: TP
1396 #: build/C/man3/regex.3:262
1397 #, no-wrap
1398 msgid "B<REG_BADBR>"
1399 msgstr ""
1400
1401 #. type: Plain text
1402 #: build/C/man3/regex.3:265
1403 msgid "Invalid use of back reference operator."
1404 msgstr ""
1405
1406 #. type: TP
1407 #: build/C/man3/regex.3:265
1408 #, no-wrap
1409 msgid "B<REG_BADPAT>"
1410 msgstr ""
1411
1412 #. type: Plain text
1413 #: build/C/man3/regex.3:268
1414 msgid "Invalid use of pattern operators such as group or list."
1415 msgstr ""
1416
1417 #. type: TP
1418 #: build/C/man3/regex.3:268
1419 #, no-wrap
1420 msgid "B<REG_BADRPT>"
1421 msgstr ""
1422
1423 #. type: Plain text
1424 #: build/C/man3/regex.3:272
1425 msgid ""
1426 "Invalid use of repetition operators such as using \\(aq*\\(aq as the first "
1427 "character."
1428 msgstr ""
1429
1430 #. type: TP
1431 #: build/C/man3/regex.3:272
1432 #, no-wrap
1433 msgid "B<REG_EBRACE>"
1434 msgstr ""
1435
1436 #. type: Plain text
1437 #: build/C/man3/regex.3:275
1438 msgid "Un-matched brace interval operators."
1439 msgstr ""
1440
1441 #. type: TP
1442 #: build/C/man3/regex.3:275
1443 #, no-wrap
1444 msgid "B<REG_EBRACK>"
1445 msgstr ""
1446
1447 #. type: Plain text
1448 #: build/C/man3/regex.3:278
1449 msgid "Un-matched bracket list operators."
1450 msgstr ""
1451
1452 #. type: TP
1453 #: build/C/man3/regex.3:278
1454 #, no-wrap
1455 msgid "B<REG_ECOLLATE>"
1456 msgstr ""
1457
1458 #. type: Plain text
1459 #: build/C/man3/regex.3:281
1460 msgid "Invalid collating element."
1461 msgstr ""
1462
1463 #. type: TP
1464 #: build/C/man3/regex.3:281
1465 #, no-wrap
1466 msgid "B<REG_ECTYPE>"
1467 msgstr ""
1468
1469 #. type: Plain text
1470 #: build/C/man3/regex.3:284
1471 msgid "Unknown character class name."
1472 msgstr ""
1473
1474 #. type: TP
1475 #: build/C/man3/regex.3:284
1476 #, no-wrap
1477 msgid "B<REG_EEND>"
1478 msgstr ""
1479
1480 #. type: Plain text
1481 #: build/C/man3/regex.3:288
1482 msgid "Nonspecific error.  This is not defined by POSIX.2."
1483 msgstr ""
1484
1485 #. type: TP
1486 #: build/C/man3/regex.3:288
1487 #, no-wrap
1488 msgid "B<REG_EESCAPE>"
1489 msgstr ""
1490
1491 #. type: Plain text
1492 #: build/C/man3/regex.3:291
1493 msgid "Trailing backslash."
1494 msgstr ""
1495
1496 #. type: TP
1497 #: build/C/man3/regex.3:291
1498 #, no-wrap
1499 msgid "B<REG_EPAREN>"
1500 msgstr ""
1501
1502 #. type: Plain text
1503 #: build/C/man3/regex.3:294
1504 msgid "Un-matched parenthesis group operators."
1505 msgstr ""
1506
1507 #. type: TP
1508 #: build/C/man3/regex.3:294
1509 #, no-wrap
1510 msgid "B<REG_ERANGE>"
1511 msgstr ""
1512
1513 #. type: Plain text
1514 #: build/C/man3/regex.3:298
1515 msgid ""
1516 "Invalid use of the range operator, e.g., the ending point of the range "
1517 "occurs prior to the starting point."
1518 msgstr ""
1519
1520 #. type: TP
1521 #: build/C/man3/regex.3:298
1522 #, no-wrap
1523 msgid "B<REG_ESIZE>"
1524 msgstr ""
1525
1526 #. type: Plain text
1527 #: build/C/man3/regex.3:302
1528 msgid ""
1529 "Compiled regular expression requires a pattern buffer larger than 64Kb.  "
1530 "This is not defined by POSIX.2."
1531 msgstr ""
1532
1533 #. type: TP
1534 #: build/C/man3/regex.3:302
1535 #, no-wrap
1536 msgid "B<REG_ESPACE>"
1537 msgstr ""
1538
1539 #. type: Plain text
1540 #: build/C/man3/regex.3:305
1541 msgid "The regex routines ran out of memory."
1542 msgstr ""
1543
1544 #. type: TP
1545 #: build/C/man3/regex.3:305
1546 #, no-wrap
1547 msgid "B<REG_ESUBREG>"
1548 msgstr ""
1549
1550 #. type: Plain text
1551 #: build/C/man3/regex.3:308
1552 msgid "Invalid back reference to a subexpression."
1553 msgstr ""
1554
1555 #. type: Plain text
1556 #: build/C/man3/regex.3:310 build/C/man3/wordexp.3:189
1557 msgid "POSIX.1-2001."
1558 msgstr ""
1559
1560 #. type: Plain text
1561 #: build/C/man3/regex.3:313
1562 msgid "B<grep>(1), B<regex>(7)"
1563 msgstr ""
1564
1565 #. type: Plain text
1566 #: build/C/man3/regex.3:316
1567 msgid "The glibc manual section, I<Regular Expression Matching>"
1568 msgstr ""
1569
1570 #. type: TH
1571 #: build/C/man7/regex.7:37
1572 #, no-wrap
1573 msgid "2009-01-12"
1574 msgstr ""
1575
1576 #. type: Plain text
1577 #: build/C/man7/regex.7:40
1578 msgid "regex - POSIX.2 regular expressions"
1579 msgstr ""
1580
1581 #. type: Plain text
1582 #: build/C/man7/regex.7:54
1583 msgid ""
1584 "Regular expressions (\"RE\"s), as defined in POSIX.2, come in two forms: "
1585 "modern REs (roughly those of I<egrep>; POSIX.2 calls these \"extended\" REs)  "
1586 "and obsolete REs (roughly those of B<ed>(1); POSIX.2 \"basic\" REs).  "
1587 "Obsolete REs mostly exist for backward compatibility in some old programs; "
1588 "they will be discussed at the end.  POSIX.2 leaves some aspects of RE syntax "
1589 "and semantics open; \"\\*(dg\" marks decisions on these aspects that may not "
1590 "be fully portable to other POSIX.2 implementations."
1591 msgstr ""
1592
1593 #. type: Plain text
1594 #: build/C/man7/regex.7:58
1595 msgid ""
1596 "A (modern) RE is one\\*(dg or more nonempty\\*(dg I<branches>, separated by "
1597 "\\(aq|\\(aq.  It matches anything that matches one of the branches."
1598 msgstr ""
1599
1600 #. type: Plain text
1601 #: build/C/man7/regex.7:61
1602 msgid ""
1603 "A branch is one\\*(dg or more I<pieces>, concatenated.  It matches a match "
1604 "for the first, followed by a match for the second, etc."
1605 msgstr ""
1606
1607 #. type: Plain text
1608 #: build/C/man7/regex.7:70
1609 msgid ""
1610 "A piece is an I<atom> possibly followed by a single\\*(dg \\(aq*\\(aq, "
1611 "\\(aq+\\(aq, \\(aq?\\(aq, or I<bound>.  An atom followed by \\(aq*\\(aq "
1612 "matches a sequence of 0 or more matches of the atom.  An atom followed by "
1613 "\\(aq+\\(aq matches a sequence of 1 or more matches of the atom.  An atom "
1614 "followed by \\(aq?\\(aq matches a sequence of 0 or 1 matches of the atom."
1615 msgstr ""
1616
1617 #. type: Plain text
1618 #: build/C/man7/regex.7:88
1619 msgid ""
1620 "A I<bound> is \\(aq{\\(aq followed by an unsigned decimal integer, possibly "
1621 "followed by \\(aq,\\(aq possibly followed by another unsigned decimal "
1622 "integer, always followed by \\(aq}\\(aq.  The integers must lie between 0 "
1623 "and B<RE_DUP_MAX> (255\\*(dg) inclusive, and if there are two of them, the "
1624 "first may not exceed the second.  An atom followed by a bound containing one "
1625 "integer I<i> and no comma matches a sequence of exactly I<i> matches of the "
1626 "atom.  An atom followed by a bound containing one integer I<i> and a comma "
1627 "matches a sequence of I<i> or more matches of the atom.  An atom followed by "
1628 "a bound containing two integers I<i> and I<j> matches a sequence of I<i> "
1629 "through I<j> (inclusive) matches of the atom."
1630 msgstr ""
1631
1632 #. type: Plain text
1633 #: build/C/man7/regex.7:105
1634 msgid ""
1635 "An atom is a regular expression enclosed in \"I<()>\" (matching a match for "
1636 "the regular expression), an empty set of \"I<()>\" (matching the null "
1637 "string)\\*(dg, a I<bracket expression> (see below), \\(aq.\\(aq (matching "
1638 "any single character), \\(aq^\\(aq (matching the null string at the "
1639 "beginning of a line), \\(aq$\\(aq (matching the null string at the end of a "
1640 "line), a \\(aq\\e\\(aq followed by one of the characters "
1641 "\"I<^.[$()|*+?{\\e>\" (matching that character taken as an ordinary "
1642 "character), a \\(aq\\e\\(aq followed by any other character\\*(dg (matching "
1643 "that character taken as an ordinary character, as if the \\(aq\\e\\(aq had "
1644 "not been present\\*(dg), or a single character with no other significance "
1645 "(matching that character).  A \\(aq{\\(aq followed by a character other than "
1646 "a digit is an ordinary character, not the beginning of a bound\\*(dg.  It is "
1647 "illegal to end an RE with \\(aq\\e\\(aq."
1648 msgstr ""
1649
1650 #. type: Plain text
1651 #: build/C/man7/regex.7:119
1652 msgid ""
1653 "A I<bracket expression> is a list of characters enclosed in \"I<[]>\".  It "
1654 "normally matches any single character from the list (but see below).  If the "
1655 "list begins with \\(aq^\\(aq, it matches any single character (but see "
1656 "below) I<not> from the rest of the list.  If two characters in the list are "
1657 "separated by \\(aq-\\(aq, this is shorthand for the full I<range> of "
1658 "characters between those two (inclusive) in the collating sequence, for "
1659 "example, \"I<[0-9]>\" in ASCII matches any decimal digit.  It is "
1660 "illegal\\*(dg for two ranges to share an endpoint, for example, "
1661 "\"I<a-c-e>\".  Ranges are very collating-sequence-dependent, and portable "
1662 "programs should avoid relying on them."
1663 msgstr ""
1664
1665 #. type: Plain text
1666 #: build/C/man7/regex.7:130
1667 msgid ""
1668 "To include a literal \\(aq]\\(aq in the list, make it the first character "
1669 "(following a possible \\(aq^\\(aq).  To include a literal \\(aq-\\(aq, make "
1670 "it the first or last character, or the second endpoint of a range.  To use a "
1671 "literal \\(aq-\\(aq as the first endpoint of a range, enclose it in "
1672 "\"I<[.>\" and \"I<.]>\" to make it a collating element (see below).  With "
1673 "the exception of these and some combinations using \\(aq[\\(aq (see next "
1674 "paragraphs), all other special characters, including \\(aq\\e\\(aq, lose "
1675 "their special significance within a bracket expression."
1676 msgstr ""
1677
1678 #. type: Plain text
1679 #: build/C/man7/regex.7:142
1680 msgid ""
1681 "Within a bracket expression, a collating element (a character, a "
1682 "multicharacter sequence that collates as if it were a single character, or a "
1683 "collating-sequence name for either)  enclosed in \"I<[.>\" and \"I<.]>\" "
1684 "stands for the sequence of characters of that collating element.  The "
1685 "sequence is a single element of the bracket expression's list.  A bracket "
1686 "expression containing a multicharacter collating element can thus match more "
1687 "than one character, for example, if the collating sequence includes a \"ch\" "
1688 "collating element, then the RE \"I<[[.ch.]]*c>\" matches the first five "
1689 "characters of \"chchcc\"."
1690 msgstr ""
1691
1692 #. type: Plain text
1693 #: build/C/man7/regex.7:154
1694 msgid ""
1695 "Within a bracket expression, a collating element enclosed in \"I<[=>\" and "
1696 "\"I<=]>\" is an equivalence class, standing for the sequences of characters "
1697 "of all collating elements equivalent to that one, including itself.  (If "
1698 "there are no other equivalent collating elements, the treatment is as if the "
1699 "enclosing delimiters were \"I<[.>\" and \"I<.]>\".)  For example, if o and "
1700 "\\o'o^' are the members of an equivalence class, then \"I<[[=o=]]>\", "
1701 "\"I<[[=\\o'o^'=]]>\", and \"I<[o\\o'o^']>\" are all synonymous.  An "
1702 "equivalence class may not\\*(dg be an endpoint of a range."
1703 msgstr ""
1704
1705 #. type: Plain text
1706 #: build/C/man7/regex.7:160
1707 msgid ""
1708 "Within a bracket expression, the name of a I<character class> enclosed in "
1709 "\"I<[:>\" and \"I<:]>\" stands for the list of all characters belonging to "
1710 "that class.  Standard character class names are:"
1711 msgstr ""
1712
1713 #. type: ta
1714 #: build/C/man7/regex.7:163
1715 #, no-wrap
1716 msgid "3c 6c 9c"
1717 msgstr ""
1718
1719 #. type: Plain text
1720 #: build/C/man7/regex.7:168
1721 #, no-wrap
1722 msgid ""
1723 "alnum\tdigit\tpunct\n"
1724 "alpha\tgraph\tspace\n"
1725 "blank\tlower\tupper\n"
1726 "cntrl\tprint\txdigit\n"
1727 msgstr ""
1728
1729 #.  As per http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=295666
1730 #.  The following does not seem to apply in the glibc implementation
1731 #.  .PP
1732 #.  There are two special cases\*(dg of bracket expressions:
1733 #.  the bracket expressions "\fI[[:<:]]\fP" and "\fI[[:>:]]\fP" match
1734 #.  the null string at the beginning and end of a word respectively.
1735 #.  A word is defined as a sequence of
1736 #.  word characters
1737 #.  which is neither preceded nor followed by
1738 #.  word characters.
1739 #.  A word character is an
1740 #.  .I alnum
1741 #.  character (as defined by
1742 #.  .BR wctype (3))
1743 #.  or an underscore.
1744 #.  This is an extension,
1745 #.  compatible with but not specified by POSIX.2,
1746 #.  and should be used with
1747 #.  caution in software intended to be portable to other systems.
1748 #. type: Plain text
1749 #: build/C/man7/regex.7:194
1750 msgid ""
1751 "These stand for the character classes defined in B<wctype>(3).  A locale may "
1752 "provide others.  A character class may not be used as an endpoint of a "
1753 "range."
1754 msgstr ""
1755
1756 #. type: Plain text
1757 #: build/C/man7/regex.7:206
1758 msgid ""
1759 "In the event that an RE could match more than one substring of a given "
1760 "string, the RE matches the one starting earliest in the string.  If the RE "
1761 "could match more than one substring starting at that point, it matches the "
1762 "longest.  Subexpressions also match the longest possible substrings, subject "
1763 "to the constraint that the whole match be as long as possible, with "
1764 "subexpressions starting earlier in the RE taking priority over ones starting "
1765 "later.  Note that higher-level subexpressions thus take priority over their "
1766 "lower-level component subexpressions."
1767 msgstr ""
1768
1769 #. type: Plain text
1770 #: build/C/man7/regex.7:218
1771 msgid ""
1772 "Match lengths are measured in characters, not collating elements.  A null "
1773 "string is considered longer than no match at all.  For example, \"I<bb*>\" "
1774 "matches the three middle characters of \"abbbc\", "
1775 "\"I<(wee|week)(knights|nights)>\" matches all ten characters of "
1776 "\"weeknights\", when \"I<(.*).*>\" is matched against \"abc\" the "
1777 "parenthesized subexpression matches all three characters, and when "
1778 "\"I<(a*)*>\" is matched against \"bc\" both the whole RE and the "
1779 "parenthesized subexpression match the null string."
1780 msgstr ""
1781
1782 #. type: Plain text
1783 #: build/C/man7/regex.7:229
1784 msgid ""
1785 "If case-independent matching is specified, the effect is much as if all case "
1786 "distinctions had vanished from the alphabet.  When an alphabetic that exists "
1787 "in multiple cases appears as an ordinary character outside a bracket "
1788 "expression, it is effectively transformed into a bracket expression "
1789 "containing both cases, for example, \\(aqx\\(aq becomes \"I<[xX]>\".  When "
1790 "it appears inside a bracket expression, all case counterparts of it are "
1791 "added to the bracket expression, so that, for example, \"I<[x]>\" becomes "
1792 "\"I<[xX]>\" and \"I<[^x]>\" becomes \"I<[^xX]>\"."
1793 msgstr ""
1794
1795 #. type: Plain text
1796 #: build/C/man7/regex.7:235
1797 msgid ""
1798 "No particular limit is imposed on the length of REs\\*(dg.  Programs "
1799 "intended to be portable should not employ REs longer than 256 bytes, as an "
1800 "implementation can refuse to accept such REs and remain POSIX-compliant."
1801 msgstr ""
1802
1803 #. type: Plain text
1804 #: build/C/man7/regex.7:251
1805 msgid ""
1806 "Obsolete (\"basic\") regular expressions differ in several respects.  "
1807 "\\(aq|\\(aq, \\(aq+\\(aq, and \\(aq?\\(aq are ordinary characters and there "
1808 "is no equivalent for their functionality.  The delimiters for bounds are "
1809 "\"I<\\e{>\" and \"I<\\e}>\", with \\(aq{\\(aq and \\(aq}\\(aq by themselves "
1810 "ordinary characters.  The parentheses for nested subexpressions are "
1811 "\"I<\\e(>\" and \"I<\\e)>\", with \\(aq(\\(aq and \\(aq)\\(aq by themselves "
1812 "ordinary characters.  \\(aq^\\(aq is an ordinary character except at the "
1813 "beginning of the RE or\\*(dg the beginning of a parenthesized subexpression, "
1814 "\\(aq$\\(aq is an ordinary character except at the end of the RE or\\*(dg "
1815 "the end of a parenthesized subexpression, and \\(aq*\\(aq is an ordinary "
1816 "character if it appears at the beginning of the RE or the beginning of a "
1817 "parenthesized subexpression (after a possible leading \\(aq^\\(aq)."
1818 msgstr ""
1819
1820 #. type: Plain text
1821 #: build/C/man7/regex.7:259
1822 msgid ""
1823 "Finally, there is one new type of atom, a I<back reference>: \\(aq\\e\\(aq "
1824 "followed by a nonzero decimal digit I<d> matches the same sequence of "
1825 "characters matched by the I<d>th parenthesized subexpression (numbering "
1826 "subexpressions by the positions of their opening parentheses, left to "
1827 "right), so that, for example, \"I<\\e([bc]\\e)\\e1>\" matches \"bb\" or "
1828 "\"cc\" but not \"bc\"."
1829 msgstr ""
1830
1831 #. type: Plain text
1832 #: build/C/man7/regex.7:261
1833 msgid "Having two kinds of REs is a botch."
1834 msgstr ""
1835
1836 #. type: Plain text
1837 #: build/C/man7/regex.7:267
1838 msgid ""
1839 "The current POSIX.2 spec says that \\(aq)\\(aq is an ordinary character in "
1840 "the absence of an unmatched \\(aq(\\(aq; this was an unintentional result of "
1841 "a wording error, and change is likely.  Avoid relying on it."
1842 msgstr ""
1843
1844 #. type: Plain text
1845 #: build/C/man7/regex.7:274
1846 msgid ""
1847 "Back references are a dreadful botch, posing major problems for efficient "
1848 "implementations.  They are also somewhat vaguely defined (does "
1849 "\"I<a\\e(\\e(b\\e)*\\e2\\e)*d>\" match \"abbbd\"?).  Avoid using them."
1850 msgstr ""
1851
1852 #.  As per http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=295666
1853 #.  The following does not seem to apply in the glibc implementation
1854 #.  .PP
1855 #.  The syntax for word boundaries is incredibly ugly.
1856 #. type: Plain text
1857 #: build/C/man7/regex.7:282
1858 msgid ""
1859 "POSIX.2's specification of case-independent matching is vague.  The \"one "
1860 "case implies all cases\" definition given above is current consensus among "
1861 "implementors as to the right interpretation."
1862 msgstr ""
1863
1864 #. type: SH
1865 #: build/C/man7/regex.7:282
1866 #, no-wrap
1867 msgid "AUTHOR"
1868 msgstr ""
1869
1870 #.  Sigh... The page license means we must have the author's name
1871 #.  in the formatted output.
1872 #. type: Plain text
1873 #: build/C/man7/regex.7:286
1874 msgid "This page was taken from Henry Spencer's regex package."
1875 msgstr ""
1876
1877 #. type: Plain text
1878 #: build/C/man7/regex.7:289
1879 msgid "B<grep>(1), B<regex>(3)"
1880 msgstr ""
1881
1882 #. type: Plain text
1883 #: build/C/man7/regex.7:291
1884 msgid "POSIX.2, section 2.8 (Regular Expression Notation)."
1885 msgstr ""
1886
1887 #. type: TH
1888 #: build/C/man3/wordexp.3:24
1889 #, no-wrap
1890 msgid "WORDEXP"
1891 msgstr ""
1892
1893 #. type: TH
1894 #: build/C/man3/wordexp.3:24
1895 #, no-wrap
1896 msgid "2008-07-14"
1897 msgstr ""
1898
1899 #. type: Plain text
1900 #: build/C/man3/wordexp.3:27
1901 msgid "wordexp, wordfree - perform word expansion like a posix-shell"
1902 msgstr ""
1903
1904 #. type: Plain text
1905 #: build/C/man3/wordexp.3:29
1906 msgid "B<#include E<lt>wordexp.hE<gt>>"
1907 msgstr ""
1908
1909 #. type: Plain text
1910 #: build/C/man3/wordexp.3:31
1911 msgid "B<int wordexp(const char *>I<s>B<, wordexp_t *>I<p>B<, int >I<flags>B<);>"
1912 msgstr ""
1913
1914 #. type: Plain text
1915 #: build/C/man3/wordexp.3:33
1916 msgid "B<void wordfree(wordexp_t *>I<p>B<);>"
1917 msgstr ""
1918
1919 #. type: Plain text
1920 #: build/C/man3/wordexp.3:37
1921 msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
1922 msgstr ""
1923
1924 #. type: Plain text
1925 #: build/C/man3/wordexp.3:42
1926 msgid "B<wordexp>(), B<wordfree>(): _XOPEN_SOURCE"
1927 msgstr ""
1928
1929 #. type: Plain text
1930 #: build/C/man3/wordexp.3:76
1931 msgid ""
1932 "The function B<wordexp>()  performs a shell-like expansion of the string "
1933 "I<s> and returns the result in the structure pointed to by I<p>.  The data "
1934 "type I<wordexp_t> is a structure that at least has the fields I<we_wordc>, "
1935 "I<we_wordv>, and I<we_offs>.  The field I<we_wordc> is a I<size_t> that "
1936 "gives the number of words in the expansion of I<s>.  The field I<we_wordv> "
1937 "is a I<char **> that points to the array of words found.  The field "
1938 "I<we_offs> of type I<size_t> is sometimes (depending on I<flags>, see below) "
1939 "used to indicate the number of initial elements in the I<we_wordv> array "
1940 "that should be filled with NULLs."
1941 msgstr ""
1942
1943 #. type: Plain text
1944 #: build/C/man3/wordexp.3:84
1945 msgid ""
1946 "The function B<wordfree>()  frees the allocated memory again.  More "
1947 "precisely, it does not free its argument, but it frees the array I<we_wordv> "
1948 "and the strings that points to."
1949 msgstr ""
1950
1951 #. type: SS
1952 #: build/C/man3/wordexp.3:84
1953 #, no-wrap
1954 msgid "The string argument"
1955 msgstr ""
1956
1957 #. type: Plain text
1958 #: build/C/man3/wordexp.3:94
1959 msgid ""
1960 "Since the expansion is the same as the expansion by the shell (see B<sh>(1))  "
1961 "of the parameters to a command, the string I<s> must not contain characters "
1962 "that would be illegal in shell command parameters.  In particular, there "
1963 "must not be any unescaped newline or |, &, ;, E<lt>, E<gt>, (, ), {, } "
1964 "characters outside a command substitution or parameter substitution context."
1965 msgstr ""
1966
1967 #. type: Plain text
1968 #: build/C/man3/wordexp.3:100
1969 msgid ""
1970 "If the argument I<s> contains a word that starts with an unquoted comment "
1971 "character #, then it is unspecified whether that word and all following "
1972 "words are ignored, or the # is treated as a non-comment character."
1973 msgstr ""
1974
1975 #. type: SS
1976 #: build/C/man3/wordexp.3:100
1977 #, no-wrap
1978 msgid "The expansion"
1979 msgstr ""
1980
1981 #. type: Plain text
1982 #: build/C/man3/wordexp.3:107
1983 msgid ""
1984 "The expansion done consists of the following stages: tilde expansion "
1985 "(replacing ~user by user's home directory), variable substitution (replacing "
1986 "$FOO by the value of the environment variable FOO), command substitution "
1987 "(replacing $(command) or \\`command\\` by the output of command), arithmetic "
1988 "expansion, field splitting, wildcard expansion, quote removal."
1989 msgstr ""
1990
1991 #. type: Plain text
1992 #: build/C/man3/wordexp.3:110
1993 msgid ""
1994 "The result of expansion of special parameters ($@, $*, $#, $?, $-, $$, $!, "
1995 "$0) is unspecified."
1996 msgstr ""
1997
1998 #. type: Plain text
1999 #: build/C/man3/wordexp.3:113
2000 msgid ""
2001 "Field splitting is done using the environment variable $IFS.  If it is not "
2002 "set, the field separators are space, tab and newline."
2003 msgstr ""
2004
2005 #. type: SS
2006 #: build/C/man3/wordexp.3:113
2007 #, no-wrap
2008 msgid "The output array"
2009 msgstr ""
2010
2011 #. type: Plain text
2012 #: build/C/man3/wordexp.3:117
2013 msgid "The array I<we_wordv> contains the words found, followed by a NULL."
2014 msgstr ""
2015
2016 #. type: SS
2017 #: build/C/man3/wordexp.3:117
2018 #, no-wrap
2019 msgid "The flags argument"
2020 msgstr ""
2021
2022 #. type: Plain text
2023 #: build/C/man3/wordexp.3:121
2024 msgid "The I<flag> argument is a bitwise inclusive OR of the following values:"
2025 msgstr ""
2026
2027 #. type: TP
2028 #: build/C/man3/wordexp.3:121
2029 #, no-wrap
2030 msgid "B<WRDE_APPEND>"
2031 msgstr ""
2032
2033 #. type: Plain text
2034 #: build/C/man3/wordexp.3:124
2035 msgid "Append the words found to the array resulting from a previous call."
2036 msgstr ""
2037
2038 #. type: TP
2039 #: build/C/man3/wordexp.3:124
2040 #, no-wrap
2041 msgid "B<WRDE_DOOFFS>"
2042 msgstr ""
2043
2044 #. type: Plain text
2045 #: build/C/man3/wordexp.3:132
2046 msgid ""
2047 "Insert I<we_offs> initial NULLs in the array I<we_wordv>.  (These are not "
2048 "counted in the returned I<we_wordc>.)"
2049 msgstr ""
2050
2051 #. type: TP
2052 #: build/C/man3/wordexp.3:132
2053 #, no-wrap
2054 msgid "B<WRDE_NOCMD>"
2055 msgstr ""
2056
2057 #. type: Plain text
2058 #: build/C/man3/wordexp.3:135
2059 msgid "Don't do command substitution."
2060 msgstr ""
2061
2062 #. type: TP
2063 #: build/C/man3/wordexp.3:135
2064 #, no-wrap
2065 msgid "B<WRDE_REUSE>"
2066 msgstr ""
2067
2068 #. type: Plain text
2069 #: build/C/man3/wordexp.3:145
2070 msgid ""
2071 "The argument I<p> resulted from a previous call to B<wordexp>(), and "
2072 "B<wordfree>()  was not called.  Reuse the allocated storage."
2073 msgstr ""
2074
2075 #. type: TP
2076 #: build/C/man3/wordexp.3:145
2077 #, no-wrap
2078 msgid "B<WRDE_SHOWERR>"
2079 msgstr ""
2080
2081 #. type: Plain text
2082 #: build/C/man3/wordexp.3:154
2083 msgid ""
2084 "Normally during command substitution I<stderr> is redirected to "
2085 "I</dev/null>.  This flag specifies that I<stderr> is not to be redirected."
2086 msgstr ""
2087
2088 #. type: TP
2089 #: build/C/man3/wordexp.3:154
2090 #, no-wrap
2091 msgid "B<WRDE_UNDEF>"
2092 msgstr ""
2093
2094 #. type: Plain text
2095 #: build/C/man3/wordexp.3:157
2096 msgid "Consider it an error if an undefined shell variable is expanded."
2097 msgstr ""
2098
2099 #. type: Plain text
2100 #: build/C/man3/wordexp.3:161
2101 msgid ""
2102 "In case of success 0 is returned.  In case of error one of the following "
2103 "five values is returned."
2104 msgstr ""
2105
2106 #. type: TP
2107 #: build/C/man3/wordexp.3:161
2108 #, no-wrap
2109 msgid "B<WRDE_BADCHAR>"
2110 msgstr ""
2111
2112 #. type: Plain text
2113 #: build/C/man3/wordexp.3:164
2114 msgid "Illegal occurrence of newline or one of |, &, ;, E<lt>, E<gt>, (, ), {, }."
2115 msgstr ""
2116
2117 #. type: TP
2118 #: build/C/man3/wordexp.3:164
2119 #, no-wrap
2120 msgid "B<WRDE_BADVAL>"
2121 msgstr ""
2122
2123 #. type: Plain text
2124 #: build/C/man3/wordexp.3:170
2125 msgid ""
2126 "An undefined shell variable was referenced, and the B<WRDE_UNDEF> flag told "
2127 "us to consider this an error."
2128 msgstr ""
2129
2130 #. type: TP
2131 #: build/C/man3/wordexp.3:170
2132 #, no-wrap
2133 msgid "B<WRDE_CMDSUB>"
2134 msgstr ""
2135
2136 #. type: Plain text
2137 #: build/C/man3/wordexp.3:175
2138 msgid ""
2139 "Command substitution occurred, and the B<WRDE_NOCMD> flag told us to "
2140 "consider this an error."
2141 msgstr ""
2142
2143 #. type: TP
2144 #: build/C/man3/wordexp.3:175
2145 #, no-wrap
2146 msgid "B<WRDE_NOSPACE>"
2147 msgstr ""
2148
2149 #. type: Plain text
2150 #: build/C/man3/wordexp.3:178
2151 msgid "Out of memory."
2152 msgstr ""
2153
2154 #. type: TP
2155 #: build/C/man3/wordexp.3:178
2156 #, no-wrap
2157 msgid "B<WRDE_SYNTAX>"
2158 msgstr ""
2159
2160 #. type: Plain text
2161 #: build/C/man3/wordexp.3:182
2162 msgid "Shell syntax error, such as unbalanced parentheses or unmatched quotes."
2163 msgstr ""
2164
2165 #. type: SH
2166 #: build/C/man3/wordexp.3:182
2167 #, no-wrap
2168 msgid "VERSIONS"
2169 msgstr ""
2170
2171 #. type: Plain text
2172 #: build/C/man3/wordexp.3:187
2173 msgid "B<wordexp>()  and B<wordfree>()  are provided in glibc since version 2.1."
2174 msgstr ""
2175
2176 #. type: Plain text
2177 #: build/C/man3/wordexp.3:192
2178 msgid ""
2179 "The output of the following example program is approximately that of \"ls "
2180 "[a-c]*.c\"."
2181 msgstr ""
2182
2183 #. type: Plain text
2184 #: build/C/man3/wordexp.3:197
2185 #, no-wrap
2186 msgid ""
2187 "#include E<lt>stdio.hE<gt>\n"
2188 "#include E<lt>stdlib.hE<gt>\n"
2189 "#include E<lt>wordexp.hE<gt>\n"
2190 msgstr ""
2191
2192 #. type: Plain text
2193 #: build/C/man3/wordexp.3:204
2194 #, no-wrap
2195 msgid ""
2196 "int\n"
2197 "main(int argc, char **argv)\n"
2198 "{\n"
2199 "    wordexp_t p;\n"
2200 "    char **w;\n"
2201 "    int i;\n"
2202 msgstr ""
2203
2204 #. type: Plain text
2205 #: build/C/man3/wordexp.3:212
2206 #, no-wrap
2207 msgid ""
2208 "    wordexp(\"[a-c]*.c\", &p, 0);\n"
2209 "    w = p.we_wordv;\n"
2210 "    for (i = 0; i E<lt> p.we_wordc; i++)\n"
2211 "        printf(\"%s\\en\", w[i]);\n"
2212 "    wordfree(&p);\n"
2213 "    exit(EXIT_SUCCESS);\n"
2214 "}\n"
2215 msgstr ""
2216
2217 #. type: Plain text
2218 #: build/C/man3/wordexp.3:216
2219 msgid "B<fnmatch>(3), B<glob>(3)"
2220 msgstr ""