# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2012-04-25 05:36+0900\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: TH #: build/C/man3/fnmatch.3:26 #, no-wrap msgid "FNMATCH" msgstr "" #. type: TH #: build/C/man3/fnmatch.3:26 #, no-wrap msgid "2000-10-15" msgstr "" #. type: TH #: build/C/man3/fnmatch.3:26 build/C/man3/glob.3:32 build/C/man3/re_comp.3:25 build/C/man3/regex.3:32 #, no-wrap msgid "GNU" msgstr "" #. type: TH #: build/C/man3/fnmatch.3:26 build/C/man3/glob.3:32 build/C/man7/glob.7:25 build/C/man3/re_comp.3:25 build/C/man3/regex.3:32 build/C/man7/regex.7:35 build/C/man3/wordexp.3:23 #, no-wrap msgid "Linux Programmer's Manual" msgstr "" #. type: SH #: build/C/man3/fnmatch.3:27 build/C/man3/glob.3:33 build/C/man7/glob.7:26 build/C/man3/re_comp.3:26 build/C/man3/regex.3:33 build/C/man7/regex.7:36 build/C/man3/wordexp.3:24 #, no-wrap msgid "NAME" msgstr "" #. type: Plain text #: build/C/man3/fnmatch.3:29 msgid "fnmatch - match filename or pathname" msgstr "" #. type: SH #: build/C/man3/fnmatch.3:29 build/C/man3/glob.3:35 build/C/man3/re_comp.3:28 build/C/man3/regex.3:35 build/C/man3/wordexp.3:26 #, no-wrap msgid "SYNOPSIS" msgstr "" #. type: Plain text #: build/C/man3/fnmatch.3:32 #, no-wrap msgid "B<#include Efnmatch.hE>\n" msgstr "" #. type: Plain text #: build/C/man3/fnmatch.3:34 #, no-wrap msgid "" "BIB<, const char *>IB<, int " ">IB<);>\n" msgstr "" #. type: SH #: build/C/man3/fnmatch.3:35 build/C/man3/glob.3:47 build/C/man7/glob.7:28 build/C/man3/re_comp.3:38 build/C/man3/regex.3:51 build/C/man7/regex.7:38 build/C/man3/wordexp.3:41 #, no-wrap msgid "DESCRIPTION" msgstr "" #. type: Plain text #: build/C/man3/fnmatch.3:43 msgid "" "The B() function checks whether the I argument matches the " "I argument, which is a shell wildcard pattern." msgstr "" #. type: Plain text #: build/C/man3/fnmatch.3:48 msgid "" "The I argument modifies the behavior; it is the bitwise OR of zero or " "more of the following flags:" msgstr "" #. type: TP #: build/C/man3/fnmatch.3:48 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/fnmatch.3:52 msgid "" "If this flag is set, treat backslash as an ordinary character, instead of an " "escape character." msgstr "" #. type: TP #: build/C/man3/fnmatch.3:52 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/fnmatch.3:60 msgid "" "If this flag is set, match a slash in I only with a slash in " "I and not by an asterisk (*) or a question mark (?) metacharacter, " "nor by a bracket expression ([]) containing a slash." msgstr "" #. type: TP #: build/C/man3/fnmatch.3:60 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/fnmatch.3:71 msgid "" "If this flag is set, a leading period in I has to be matched exactly " "by a period in I. A period is considered to be leading if it is " "the first character in I, or if both B is set and the " "period immediately follows a slash." msgstr "" #. type: TP #: build/C/man3/fnmatch.3:71 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/fnmatch.3:74 msgid "This is a GNU synonym for B." msgstr "" #. type: TP #: build/C/man3/fnmatch.3:74 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/fnmatch.3:82 msgid "" "If this flag (a GNU extension) is set, the pattern is considered to be " "matched if it matches an initial segment of I which is followed by a " "slash. This flag is mainly for the internal use of glibc and is only " "implemented in certain cases." msgstr "" #. type: TP #: build/C/man3/fnmatch.3:82 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/fnmatch.3:86 msgid "" "If this flag (a GNU extension) is set, the pattern is matched " "case-insensitively." msgstr "" #. type: SH #: build/C/man3/fnmatch.3:86 build/C/man3/glob.3:257 build/C/man3/re_comp.3:56 build/C/man3/regex.3:237 build/C/man3/wordexp.3:156 #, no-wrap msgid "RETURN VALUE" msgstr "" #. type: Plain text #: build/C/man3/fnmatch.3:93 msgid "" "Zero if I matches I, B if there is no match or " "another nonzero value if there is an error." msgstr "" #. type: SH #: build/C/man3/fnmatch.3:93 build/C/man3/glob.3:271 build/C/man3/re_comp.3:64 build/C/man3/regex.3:294 build/C/man3/wordexp.3:186 #, no-wrap msgid "CONFORMING TO" msgstr "" #. type: Plain text #: build/C/man3/fnmatch.3:98 msgid "" "POSIX.2. The B, B, and B " "flags are GNU extensions." msgstr "" #. type: SH #: build/C/man3/fnmatch.3:98 build/C/man3/glob.3:314 build/C/man7/glob.7:204 build/C/man3/re_comp.3:70 build/C/man3/regex.3:296 build/C/man7/regex.7:284 build/C/man3/wordexp.3:212 #, no-wrap msgid "SEE ALSO" msgstr "" #. type: Plain text #: build/C/man3/fnmatch.3:103 msgid "B(1), B(3), B(3), B(3), B(7)" msgstr "" #. type: TH #: build/C/man3/glob.3:32 build/C/man7/glob.7:25 #, no-wrap msgid "GLOB" msgstr "" #. type: TH #: build/C/man3/glob.3:32 #, no-wrap msgid "2007-10-10" msgstr "" #. type: Plain text #: build/C/man3/glob.3:35 msgid "glob, globfree - find pathnames matching a pattern, free memory from glob()" msgstr "" #. type: Plain text #: build/C/man3/glob.3:38 #, no-wrap msgid "B<#include Eglob.hE>\n" msgstr "" #. type: Plain text #: build/C/man3/glob.3:40 #, no-wrap msgid "BIB<, int >IB<,>\n" msgstr "" #. type: Plain text #: build/C/man3/glob.3:42 #, no-wrap msgid "" "B< int (*>IB<) (const char *>IB<, int " ">IB<),>\n" msgstr "" #. type: Plain text #: build/C/man3/glob.3:44 #, no-wrap msgid "B< glob_t *>IB<);>\n" msgstr "" #. type: Plain text #: build/C/man3/glob.3:46 #, no-wrap msgid "BIB<);>\n" msgstr "" #. type: Plain text #: build/C/man3/glob.3:57 msgid "" "The B() function searches for all the pathnames matching I " "according to the rules used by the shell (see B(7)). No tilde " "expansion or parameter substitution is done; if you want these, use " "B(3)." msgstr "" #. type: Plain text #: build/C/man3/glob.3:63 msgid "" "The B() function frees the dynamically allocated storage from an " "earlier call to B()." msgstr "" #. type: Plain text #: build/C/man3/glob.3:74 msgid "" "The results of a B() call are stored in the structure pointed to by " "I. This structure is of type I (declared in " "Iglob.hE>) and includes the following elements defined by POSIX.2 " "(more may be present as an extension):" msgstr "" #. type: Plain text #: build/C/man3/glob.3:83 #, no-wrap msgid "" "typedef struct {\n" " size_t gl_pathc; /* Count of paths matched so far */\n" " char **gl_pathv; /* List of matched pathnames. */\n" " size_t gl_offs; /* Slots to reserve in I. */\n" "} glob_t;\n" msgstr "" #. type: Plain text #: build/C/man3/glob.3:87 msgid "Results are stored in dynamically allocated storage." msgstr "" #. type: Plain text #: build/C/man3/glob.3:93 msgid "" "The argument I is made up of the bitwise OR of zero or more the " "following symbolic constants, which modify the behavior of B():" msgstr "" #. type: TP #: build/C/man3/glob.3:93 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/glob.3:101 msgid "" "Return upon a read error (because a directory does not have read permission, " "for example). By default, B() attempts carry on despite errors, " "reading all of the directories that it can." msgstr "" #. type: TP #: build/C/man3/glob.3:101 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/glob.3:104 msgid "Append a slash to each path which corresponds to a directory." msgstr "" #. type: TP #: build/C/man3/glob.3:104 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/glob.3:109 msgid "" "Don't sort the returned pathnames. The only reason to do this is to save " "processing time. By default, the returned pathnames are sorted." msgstr "" #. type: TP #: build/C/man3/glob.3:109 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/glob.3:116 msgid "" "Reserve Igl_offs> slots at the beginning of the list of strings " "in Ipathv>. The reserved slots contain NULL pointers." msgstr "" #. type: TP #: build/C/man3/glob.3:116 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/glob.3:124 msgid "" "If no pattern matches, return the original pattern. By default, B() " "returns B if there are no matches." msgstr "" #. type: TP #: build/C/man3/glob.3:124 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/glob.3:131 msgid "" "Append the results of this call to the vector of results returned by a " "previous call to B(). Do not set this flag on the first invocation of " "B()." msgstr "" #. type: TP #: build/C/man3/glob.3:131 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/glob.3:138 msgid "" "Don't allow backslash (\\(aq\\e\\(aq) to be used as an escape character. " "Normally, a backslash can be used to quote the following character, " "providing a mechanism to turn off the special meaning metacharacters." msgstr "" #. type: Plain text #: build/C/man3/glob.3:142 msgid "" "I may also include any of the following, which are GNU extensions and " "not defined by POSIX.2:" msgstr "" #. type: TP #: build/C/man3/glob.3:142 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/glob.3:146 msgid "" "Allow a leading period to be matched by metacharacters. By default, " "metacharacters can't match a leading period." msgstr "" #. type: TP #: build/C/man3/glob.3:146 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/glob.3:156 msgid "" "Use alternative functions Igl_closedir>, " "Igl_readdir>, Igl_opendir>, Igl_lstat>, " "and Igl_stat> for file system access instead of the normal " "library functions." msgstr "" #. type: TP #: build/C/man3/glob.3:156 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/glob.3:171 msgid "" "Expand B(1) style brace expressions of the form B<{a,b}>. Brace " "expressions can be nested. Thus, for example, specifying the pattern " "\"{foo/{,cat,dog},bar}\" would return the same results as four separate " "B() calls using the strings: \"foo/\", \"foo/cat\", \"foo/dog\", and " "\"bar\"." msgstr "" #. type: TP #: build/C/man3/glob.3:171 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/glob.3:176 msgid "" "If the pattern contains no metacharacters then it should be returned as the " "sole matching word, even if there is no file with that name." msgstr "" #. type: TP #: build/C/man3/glob.3:176 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/glob.3:188 msgid "" "Carry out tilde expansion. If a tilde (\\(aq~\\(aq) is the only character " "in the pattern, or an initial tilde is followed immediately by a slash " "(\\(aq/\\(aq), then the home directory of the caller is substituted for the " "tilde. If an initial tilde is followed by a username (e.g., " "\"~andrea/bin\"), then the tilde and username are substituted by the home " "directory of that user. If the username is invalid, or the home directory " "cannot be determined, then no substitution is performed." msgstr "" #. type: TP #: build/C/man3/glob.3:188 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/glob.3:199 msgid "" "This provides behavior similar to that of B. The difference is " "that if the username is invalid, or the home directory cannot be determined, " "then instead of using the pattern itself as the name, B() returns " "B to indicate an error." msgstr "" #. type: TP #: build/C/man3/glob.3:199 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/glob.3:212 msgid "" "This is a I to B() that the caller is interested only in " "directories that match the pattern. If the implementation can easily " "determine file-type information, then nondirectory files are not returned to " "the caller. However, the caller must still check that returned files are " "directories. (The purpose of this flag is merely to optimize performance " "when the caller is interested only in directories.)" msgstr "" #. type: Plain text #: build/C/man3/glob.3:235 msgid "" "If I is not NULL, it will be called in case of an error with the " "arguments I, a pointer to the path which failed, and I, the " "value of I as returned from one of the calls to B(3), " "B(3), or B(2). If I returns nonzero, or if " "B is set, B() will terminate after the call to I." msgstr "" #. type: Plain text #: build/C/man3/glob.3:242 msgid "" "Upon successful return, Igl_pathc> contains the number of " "matched pathnames and Igl_pathv> contains a pointer to the list " "of pointers to matched pathnames. The list of pointers is terminated by a " "NULL pointer." msgstr "" #. type: Plain text #: build/C/man3/glob.3:251 msgid "" "It is possible to call B() several times. In that case, the " "B flag has to be set in I on the second and later " "invocations." msgstr "" #. type: Plain text #: build/C/man3/glob.3:257 msgid "" "As a GNU extension, Igl_flags> is set to the flags specified, " "Bed with B if any metacharacters were found." msgstr "" #. type: Plain text #: build/C/man3/glob.3:262 msgid "" "On successful completion, B() returns zero. Other possible returns " "are:" msgstr "" #. type: TP #: build/C/man3/glob.3:262 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/glob.3:265 msgid "for running out of memory," msgstr "" #. type: TP #: build/C/man3/glob.3:265 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/glob.3:268 msgid "for a read error, and" msgstr "" #. type: TP #: build/C/man3/glob.3:268 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/glob.3:271 msgid "for no found matches." msgstr "" #. type: Plain text #: build/C/man3/glob.3:273 msgid "POSIX.2, POSIX.1-2001." msgstr "" #. type: SH #: build/C/man3/glob.3:273 build/C/man7/glob.7:136 build/C/man3/re_comp.3:66 #, no-wrap msgid "NOTES" msgstr "" #. type: Plain text #: build/C/man3/glob.3:284 msgid "" "The structure elements I and I are declared as I " "in glibc 2.1, as they should be according to POSIX.2, but are declared as " "I in libc4, libc5 and glibc 2.0." msgstr "" #. type: SH #: build/C/man3/glob.3:284 build/C/man7/regex.7:257 #, no-wrap msgid "BUGS" msgstr "" #. type: Plain text #: build/C/man3/glob.3:293 msgid "" "The B() function may fail due to failure of underlying function " "calls, such as B(3) or B(3). These will store their error " "code in I." msgstr "" #. type: SH #: build/C/man3/glob.3:293 build/C/man3/wordexp.3:188 #, no-wrap msgid "EXAMPLE" msgstr "" #. type: Plain text #: build/C/man3/glob.3:295 msgid "One example of use is the following code, which simulates typing" msgstr "" #. type: Plain text #: build/C/man3/glob.3:298 msgid "ls -l *.c ../*.c" msgstr "" #. type: Plain text #: build/C/man3/glob.3:301 msgid "in the shell:" msgstr "" #. type: Plain text #: build/C/man3/glob.3:305 #, no-wrap msgid "glob_t globbuf;\n" msgstr "" #. type: Plain text #: build/C/man3/glob.3:312 #, no-wrap msgid "" "globbuf.gl_offs = 2;\n" "glob(\"*.c\", GLOB_DOOFFS, NULL, &globbuf);\n" "glob(\"../*.c\", GLOB_DOOFFS | GLOB_APPEND, NULL, &globbuf);\n" "globbuf.gl_pathv[0] = \"ls\";\n" "globbuf.gl_pathv[1] = \"-l\";\n" "execvp(\"ls\", &globbuf.gl_pathv[0]);\n" msgstr "" #. type: Plain text #: build/C/man3/glob.3:324 msgid "" "B(1), B(1), B(2), B(3), B(3), B(3), " "B(3), B(3), B(3), B(7)" msgstr "" #. type: TH #: build/C/man7/glob.7:25 #, no-wrap msgid "2003-08-24" msgstr "" #. type: TH #: build/C/man7/glob.7:25 #, no-wrap msgid "Linux" msgstr "" #. type: Plain text #: build/C/man7/glob.7:28 msgid "glob - Globbing pathnames" msgstr "" #. type: Plain text #: build/C/man7/glob.7:33 msgid "" "Long ago, in UNIX V6, there was a program I that would expand " "wildcard patterns. Soon afterward this became a shell built-in." msgstr "" #. type: Plain text #: build/C/man7/glob.7:37 msgid "" "These days there is also a library routine B(3) that will perform " "this function for a user program." msgstr "" #. type: Plain text #: build/C/man7/glob.7:39 msgid "The rules are as follows (POSIX.2, 3.13)." msgstr "" #. type: SS #: build/C/man7/glob.7:39 #, no-wrap msgid "Wildcard Matching" msgstr "" #. type: Plain text #: build/C/man7/glob.7:46 msgid "" "A string is a wildcard pattern if it contains one of the characters " "\\(aq?\\(aq, \\(aq*\\(aq or \\(aq[\\(aq. Globbing is the operation that " "expands a wildcard pattern into the list of pathnames matching the pattern. " "Matching is defined by:" msgstr "" #. type: Plain text #: build/C/man7/glob.7:48 msgid "A \\(aq?\\(aq (not between brackets) matches any single character." msgstr "" #. type: Plain text #: build/C/man7/glob.7:51 msgid "" "A \\(aq*\\(aq (not between brackets) matches any string, including the empty " "string." msgstr "" #. type: Plain text #: build/C/man7/glob.7:53 msgid "B" msgstr "" #. type: Plain text #: build/C/man7/glob.7:62 msgid "" "An expression \"I<[...]>\" where the first character after the leading " "\\(aq[\\(aq is not an \\(aq!\\(aq matches a single character, namely any of " "the characters enclosed by the brackets. The string enclosed by the " "brackets cannot be empty; therefore \\(aq]\\(aq can be allowed between the " "brackets, provided that it is the first character. (Thus, \"I<[][!]>\" " "matches the three characters \\(aq[\\(aq, \\(aq]\\(aq and \\(aq!\\(aq.)" msgstr "" #. type: Plain text #: build/C/man7/glob.7:64 msgid "B" msgstr "" #. type: Plain text #: build/C/man7/glob.7:75 msgid "" "There is one special convention: two characters separated by \\(aq-\\(aq " "denote a range. (Thus, \"I<[A-Fa-f0-9]>\" is equivalent to " "\"I<[ABCDEFabcdef0123456789]>\".) One may include \\(aq-\\(aq in its " "literal meaning by making it the first or last character between the " "brackets. (Thus, \"I<[]-]>\" matches just the two characters \\(aq]\\(aq " "and \\(aq-\\(aq, and \"I<[--0]>\" matches the three characters \\(aq-\\(aq, " "\\(aq.\\(aq, \\(aq0\\(aq, since \\(aq/\\(aq cannot be matched.)" msgstr "" #. type: Plain text #: build/C/man7/glob.7:77 msgid "B" msgstr "" #. type: Plain text #: build/C/man7/glob.7:83 msgid "" "An expression \"I<[!...]>\" matches a single character, namely any character " "that is not matched by the expression obtained by removing the first " "\\(aq!\\(aq from it. (Thus, \"I<[!]a-]>\" matches any single character " "except \\(aq]\\(aq, \\(aqa\\(aq and \\(aq-\\(aq.)" msgstr "" #. type: Plain text #: build/C/man7/glob.7:90 msgid "" "One can remove the special meaning of \\(aq?\\(aq, \\(aq*\\(aq and " "\\(aq[\\(aq by preceding them by a backslash, or, in case this is part of a " "shell command line, enclosing them in quotes. Between brackets these " "characters stand for themselves. Thus, \"I<[[?*\\e]>\" matches the four " "characters \\(aq[\\(aq, \\(aq?\\(aq, \\(aq*\\(aq and \\(aq\\e\\(aq." msgstr "" #. type: SS #: build/C/man7/glob.7:90 #, no-wrap msgid "Pathnames" msgstr "" #. type: Plain text #: build/C/man7/glob.7:97 msgid "" "Globbing is applied on each of the components of a pathname separately. A " "\\(aq/\\(aq in a pathname cannot be matched by a \\(aq?\\(aq or \\(aq*\\(aq " "wildcard, or by a range like \"I<[.-0]>\". A range cannot contain an " "explicit \\(aq/\\(aq character; this would lead to a syntax error." msgstr "" #. type: Plain text #: build/C/man7/glob.7:102 msgid "" "If a filename starts with a \\(aq.\\(aq, this character must be matched " "explicitly. (Thus, I will not remove .profile, and I " "will not archive all your files; I is better.)" msgstr "" #. type: SS #: build/C/man7/glob.7:102 #, no-wrap msgid "Empty Lists" msgstr "" #. type: Plain text #: build/C/man7/glob.7:108 msgid "" "The nice and simple rule given above: \"expand a wildcard pattern into the " "list of matching pathnames\" was the original UNIX definition. It allowed " "one to have patterns that expand into an empty list, as in" msgstr "" #. type: Plain text #: build/C/man7/glob.7:111 #, no-wrap msgid " xv -wait 0 *.gif *.jpg\n" msgstr "" #. type: Plain text #: build/C/man7/glob.7:121 msgid "" "where perhaps no *.gif files are present (and this is not an error). " "However, POSIX requires that a wildcard pattern is left unchanged when it is " "syntactically incorrect, or the list of matching pathnames is empty. With " "I one can force the classical behavior by setting " "I." msgstr "" #. type: Plain text #: build/C/man7/glob.7:124 msgid "(Similar problems occur elsewhere. E.g., where old scripts have" msgstr "" #. type: Plain text #: build/C/man7/glob.7:127 #, no-wrap msgid " rm \\`find . -name \"*~\"\\`\n" msgstr "" #. type: Plain text #: build/C/man7/glob.7:129 msgid "new scripts require" msgstr "" #. type: Plain text #: build/C/man7/glob.7:132 #, no-wrap msgid " rm -f nosuchfile \\`find . -name \"*~\"\\`\n" msgstr "" #. type: Plain text #: build/C/man7/glob.7:136 msgid "to avoid error messages from I called with an empty argument list.)" msgstr "" #. type: SS #: build/C/man7/glob.7:137 #, no-wrap msgid "Regular expressions" msgstr "" #. type: Plain text #: build/C/man7/glob.7:144 msgid "" "Note that wildcard patterns are not regular expressions, although they are a " "bit similar. First of all, they match filenames, rather than text, and " "secondly, the conventions are not the same: for example, in a regular " "expression \\(aq*\\(aq means zero or more copies of the preceding thing." msgstr "" #. type: Plain text #: build/C/man7/glob.7:148 msgid "" "Now that regular expressions have bracket expressions where the negation is " "indicated by a \\(aq^\\(aq, POSIX has declared the effect of a wildcard " "pattern \"I<[^...]>\" to be undefined." msgstr "" #. type: SS #: build/C/man7/glob.7:148 #, no-wrap msgid "Character classes and Internationalization" msgstr "" #. type: Plain text #: build/C/man7/glob.7:166 msgid "" "Of course ranges were originally meant to be ASCII ranges, so that \"I<[\\ " "-%]>\" stands for \"I<[\\ !\"#$%]>\" and \"I<[a-z]>\" stands for \"any " "lowercase letter\". Some UNIX implementations generalized this so that a " "range X-Y stands for the set of characters with code between the codes for X " "and for Y. However, this requires the user to know the character coding in " "use on the local system, and moreover, is not convenient if the collating " "sequence for the local alphabet differs from the ordering of the character " "codes. Therefore, POSIX extended the bracket notation greatly, both for " "wildcard patterns and for regular expressions. In the above we saw three " "types of items that can occur in a bracket expression: namely (i) the " "negation, (ii) explicit single characters, and (iii) ranges. POSIX " "specifies ranges in an internationally more useful way and adds three more " "types:" msgstr "" #. type: Plain text #: build/C/man7/glob.7:172 msgid "" "(iii) Ranges X-Y comprise all characters that fall between X and Y " "(inclusive) in the current collating sequence as defined by the " "B category in the current locale." msgstr "" #. type: Plain text #: build/C/man7/glob.7:174 msgid "(iv) Named character classes, like" msgstr "" #. type: Plain text #: build/C/man7/glob.7:179 #, no-wrap msgid "" "[:alnum:] [:alpha:] [:blank:] [:cntrl:]\n" "[:digit:] [:graph:] [:lower:] [:print:]\n" "[:punct:] [:space:] [:upper:] [:xdigit:]\n" msgstr "" #. type: Plain text #: build/C/man7/glob.7:188 msgid "" "so that one can say \"I<[[:lower:]]>\" instead of \"I<[a-z]>\", and have " "things work in Denmark, too, where there are three letters past \\(aqz\\(aq " "in the alphabet. These character classes are defined by the B " "category in the current locale." msgstr "" #. type: Plain text #: build/C/man7/glob.7:194 msgid "" "(v) Collating symbols, like \"I<[.ch.]>\" or \"I<[.a-acute.]>\", where the " "string between \"I<[.>\" and \"I<.]>\" is a collating element defined for " "the current locale. Note that this may be a multicharacter element." msgstr "" #. FIXME . the accented 'a' characters are not rendering properly #. mtk May 2007 #. type: Plain text #: build/C/man7/glob.7:204 msgid "" "(vi) Equivalence class expressions, like \"I<[=a=]>\", where the string " "between \"I<[=>\" and \"I<=]>\" is any collating element from its " "equivalence class, as defined for the current locale. For example, " "\"I<[[=a=]]>\" might be equivalent to \"I<[aáàäâ]>\" (warning: Latin-1 " "here), that is, to " "\"I<[a[.a-acute.][.a-grave.][.a-umlaut.][.a-circumflex.]]>\"." msgstr "" #. type: Plain text #: build/C/man7/glob.7:209 msgid "B(1), B(3), B(3), B(7), B(7)" msgstr "" #. type: TH #: build/C/man3/re_comp.3:25 #, no-wrap msgid "RE_COMP" msgstr "" #. type: TH #: build/C/man3/re_comp.3:25 #, no-wrap msgid "1995-07-14" msgstr "" #. type: Plain text #: build/C/man3/re_comp.3:28 msgid "re_comp, re_exec - BSD regex functions" msgstr "" #. type: Plain text #: build/C/man3/re_comp.3:30 msgid "B<#define _REGEX_RE_COMP>" msgstr "" #. type: Plain text #: build/C/man3/re_comp.3:32 msgid "B<#include Esys/types.hE>" msgstr "" #. type: Plain text #: build/C/man3/re_comp.3:34 msgid "B<#include Eregex.hE>" msgstr "" #. type: Plain text #: build/C/man3/re_comp.3:36 msgid "BIB<);>" msgstr "" #. type: Plain text #: build/C/man3/re_comp.3:38 msgid "BIB<);>" msgstr "" #. type: Plain text #: build/C/man3/re_comp.3:50 msgid "" "B() is used to compile the null-terminated regular expression " "pointed to by I. The compiled pattern occupies a static area, the " "pattern buffer, which is overwritten by subsequent use of B(). If " "I is NULL, no operation is performed and the pattern buffer's " "contents are not altered." msgstr "" #. type: Plain text #: build/C/man3/re_comp.3:56 msgid "" "B() is used to assess whether the null-terminated string pointed " "to by I matches the previously compiled I." msgstr "" #. type: Plain text #: build/C/man3/re_comp.3:61 msgid "" "B() returns NULL on successful compilation of I otherwise " "it returns a pointer to an appropriate error message." msgstr "" #. type: Plain text #: build/C/man3/re_comp.3:64 msgid "B() returns 1 for a successful match, zero for failure." msgstr "" #. type: Plain text #: build/C/man3/re_comp.3:66 msgid "4.3BSD." msgstr "" #. type: Plain text #: build/C/man3/re_comp.3:70 msgid "" "These functions are obsolete; the functions documented in B(3) " "should be used instead." msgstr "" #. type: Plain text #: build/C/man3/re_comp.3:73 msgid "B(3), B(7), GNU regex manual" msgstr "" #. type: TH #: build/C/man3/regex.3:32 build/C/man7/regex.7:35 #, no-wrap msgid "REGEX" msgstr "" #. type: TH #: build/C/man3/regex.3:32 #, no-wrap msgid "2011-09-27" msgstr "" #. type: Plain text #: build/C/man3/regex.3:35 msgid "regcomp, regexec, regerror, regfree - POSIX regex functions" msgstr "" #. type: Plain text #: build/C/man3/regex.3:39 #, no-wrap msgid "" "B<#include Esys/types.hE>\n" "B<#include Eregex.hE>\n" msgstr "" #. type: Plain text #: build/C/man3/regex.3:41 #, no-wrap msgid "" "BIB<, const char *>IB<, int " ">IB<);>\n" msgstr "" #. type: Plain text #: build/C/man3/regex.3:45 #, no-wrap msgid "" "BIB<, const char *>IB<, size_t " ">IB<,>\n" "B< regmatch_t >IB<, int >IB<);>\n" msgstr "" #. type: Plain text #: build/C/man3/regex.3:48 #, no-wrap msgid "" "BIB<, const regex_t *>IB<, char " "*>IB<,>\n" "B< size_t >IB<);>\n" msgstr "" #. type: Plain text #: build/C/man3/regex.3:50 #, no-wrap msgid "BIB<);>\n" msgstr "" #. type: SS #: build/C/man3/regex.3:52 #, no-wrap msgid "POSIX Regex Compiling" msgstr "" #. type: Plain text #: build/C/man3/regex.3:58 msgid "" "B() is used to compile a regular expression into a form that is " "suitable for subsequent B() searches." msgstr "" #. type: Plain text #: build/C/man3/regex.3:67 msgid "" "B() is supplied with I, a pointer to a pattern buffer " "storage area; I, a pointer to the null-terminated string and " "I, flags used to determine the type of compilation." msgstr "" #. type: Plain text #: build/C/man3/regex.3:74 msgid "" "All regular expression searching must be done via a compiled pattern buffer, " "thus B() must always be supplied with the address of a " "B() initialized pattern buffer." msgstr "" #. type: Plain text #: build/C/man3/regex.3:79 msgid "I may be the bitwise-B of one or more of the following:" msgstr "" #. type: TP #: build/C/man3/regex.3:79 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/regex.3:88 msgid "" "Use B Extended Regular Expression syntax when interpreting I. " "If not set, B Basic Regular Expression syntax is used." msgstr "" #. type: TP #: build/C/man3/regex.3:88 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/regex.3:94 msgid "" "Do not differentiate case. Subsequent B() searches using this " "pattern buffer will be case insensitive." msgstr "" #. type: TP #: build/C/man3/regex.3:94 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/regex.3:104 msgid "" "Support for substring addressing of matches is not required. The I " "and I arguments to B() are ignored if the pattern buffer " "supplied was compiled with this flag set." msgstr "" #. type: TP #: build/C/man3/regex.3:104 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/regex.3:107 msgid "Match-any-character operators don't match a newline." msgstr "" #. type: Plain text #: build/C/man3/regex.3:111 msgid "" "A nonmatching list (B<[^...]>) not containing a newline does not match a " "newline." msgstr "" #. type: Plain text #: build/C/man3/regex.3:121 msgid "" "Match-beginning-of-line operator (B<^>) matches the empty string " "immediately after a newline, regardless of whether I, the execution " "flags of B(), contains B." msgstr "" #. type: Plain text #: build/C/man3/regex.3:129 msgid "" "Match-end-of-line operator (B<$>) matches the empty string immediately " "before a newline, regardless of whether I contains B." msgstr "" #. type: SS #: build/C/man3/regex.3:129 #, no-wrap msgid "POSIX Regex Matching" msgstr "" #. type: Plain text #: build/C/man3/regex.3:146 msgid "" "B() is used to match a null-terminated string against the " "precompiled pattern buffer, I. I and I are used to " "provide information regarding the location of any matches. I may be " "the bitwise-B of one or both of B and B which " "cause changes in matching behavior described below." msgstr "" #. type: TP #: build/C/man3/regex.3:146 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/regex.3:156 msgid "" "The match-beginning-of-line operator always fails to match (but see the " "compilation flag B above) This flag may be used when different " "portions of a string are passed to B() and the beginning of the " "string should not be interpreted as the beginning of the line." msgstr "" #. type: TP #: build/C/man3/regex.3:156 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/regex.3:162 msgid "" "The match-end-of-line operator always fails to match (but see the " "compilation flag B above)" msgstr "" #. type: SS #: build/C/man3/regex.3:162 #, no-wrap msgid "Byte Offsets" msgstr "" #. type: Plain text #: build/C/man3/regex.3:175 msgid "" "Unless B was set for the compilation of the pattern buffer, it is " "possible to obtain substring match addressing information. I must " "be dimensioned to have at least I elements. These are filled in by " "B() with substring match addresses. Any unused structure elements " "will contain the value -1." msgstr "" #. type: Plain text #: build/C/man3/regex.3:182 msgid "" "The I structure which is the type of I is defined in " "Iregex.hE>." msgstr "" #. type: Plain text #: build/C/man3/regex.3:189 #, no-wrap msgid "" "typedef struct {\n" " regoff_t rm_so;\n" " regoff_t rm_eo;\n" "} regmatch_t;\n" msgstr "" #. type: Plain text #: build/C/man3/regex.3:200 msgid "" "Each I element that is not -1 indicates the start offset of the next " "largest substring match within the string. The relative I element " "indicates the end offset of the match, which is the offset of the first " "character after the matching text." msgstr "" #. type: SS #: build/C/man3/regex.3:200 #, no-wrap msgid "Posix Error Reporting" msgstr "" #. type: Plain text #: build/C/man3/regex.3:207 msgid "" "B() is used to turn the error codes that can be returned by both " "B() and B() into error message strings." msgstr "" #. type: Plain text #: build/C/man3/regex.3:229 msgid "" "B() is passed the error code, I, the pattern buffer, " "I, a pointer to a character string buffer, I, and the size of " "the string buffer, I. It returns the size of the I " "required to contain the null-terminated error message string. If both " "I and I are nonzero, I is filled in with the " "first I characters of the error message and a terminating " "null byte (\\(aq\\e0\\(aq)." msgstr "" #. type: SS #: build/C/man3/regex.3:229 #, no-wrap msgid "POSIX Pattern Buffer Freeing" msgstr "" #. type: Plain text #: build/C/man3/regex.3:237 msgid "" "Supplying B() with a precompiled pattern buffer, I will free " "the memory allocated to the pattern buffer by the compiling process, " "B()." msgstr "" #. type: Plain text #: build/C/man3/regex.3:240 msgid "" "B() returns zero for a successful compilation or an error code for " "failure." msgstr "" #. type: Plain text #: build/C/man3/regex.3:245 msgid "" "B() returns zero for a successful match or B for " "failure." msgstr "" #. type: SH #: build/C/man3/regex.3:245 #, no-wrap msgid "ERRORS" msgstr "" #. type: Plain text #: build/C/man3/regex.3:248 msgid "The following errors can be returned by B():" msgstr "" #. type: TP #: build/C/man3/regex.3:248 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/regex.3:251 msgid "Invalid use of back reference operator." msgstr "" #. type: TP #: build/C/man3/regex.3:251 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/regex.3:254 msgid "Invalid use of pattern operators such as group or list." msgstr "" #. type: TP #: build/C/man3/regex.3:254 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/regex.3:258 msgid "" "Invalid use of repetition operators such as using \\(aq*\\(aq as the first " "character." msgstr "" #. type: TP #: build/C/man3/regex.3:258 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/regex.3:261 msgid "Un-matched brace interval operators." msgstr "" #. type: TP #: build/C/man3/regex.3:261 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/regex.3:264 msgid "Un-matched bracket list operators." msgstr "" #. type: TP #: build/C/man3/regex.3:264 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/regex.3:267 msgid "Invalid collating element." msgstr "" #. type: TP #: build/C/man3/regex.3:267 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/regex.3:270 msgid "Unknown character class name." msgstr "" #. type: TP #: build/C/man3/regex.3:270 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/regex.3:274 msgid "Non specific error. This is not defined by POSIX.2." msgstr "" #. type: TP #: build/C/man3/regex.3:274 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/regex.3:277 msgid "Trailing backslash." msgstr "" #. type: TP #: build/C/man3/regex.3:277 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/regex.3:280 msgid "Un-matched parenthesis group operators." msgstr "" #. type: TP #: build/C/man3/regex.3:280 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/regex.3:284 msgid "" "Invalid use of the range operator, e.g., the ending point of the range " "occurs prior to the starting point." msgstr "" #. type: TP #: build/C/man3/regex.3:284 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/regex.3:288 msgid "" "Compiled regular expression requires a pattern buffer larger than 64Kb. " "This is not defined by POSIX.2." msgstr "" #. type: TP #: build/C/man3/regex.3:288 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/regex.3:291 msgid "The regex routines ran out of memory." msgstr "" #. type: TP #: build/C/man3/regex.3:291 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/regex.3:294 msgid "Invalid back reference to a subexpression." msgstr "" #. type: Plain text #: build/C/man3/regex.3:296 build/C/man3/wordexp.3:188 msgid "POSIX.1-2001." msgstr "" #. type: Plain text #: build/C/man3/regex.3:299 msgid "B(1), B(7), GNU regex manual" msgstr "" #. type: TH #: build/C/man7/regex.7:35 #, no-wrap msgid "2009-01-12" msgstr "" #. type: Plain text #: build/C/man7/regex.7:38 msgid "regex - POSIX.2 regular expressions" msgstr "" #. type: Plain text #: build/C/man7/regex.7:52 msgid "" "Regular expressions (\"RE\"s), as defined in POSIX.2, come in two forms: " "modern REs (roughly those of I; POSIX.2 calls these \"extended\" REs) " "and obsolete REs (roughly those of B(1); POSIX.2 \"basic\" REs). " "Obsolete REs mostly exist for backward compatibility in some old programs; " "they will be discussed at the end. POSIX.2 leaves some aspects of RE syntax " "and semantics open; \"\\*(dg\" marks decisions on these aspects that may not " "be fully portable to other POSIX.2 implementations." msgstr "" #. type: Plain text #: build/C/man7/regex.7:56 msgid "" "A (modern) RE is one\\*(dg or more nonempty\\*(dg I, separated by " "\\(aq|\\(aq. It matches anything that matches one of the branches." msgstr "" #. type: Plain text #: build/C/man7/regex.7:59 msgid "" "A branch is one\\*(dg or more I, concatenated. It matches a match " "for the first, followed by a match for the second, etc." msgstr "" #. type: Plain text #: build/C/man7/regex.7:68 msgid "" "A piece is an I possibly followed by a single\\*(dg \\(aq*\\(aq, " "\\(aq+\\(aq, \\(aq?\\(aq, or I. An atom followed by \\(aq*\\(aq " "matches a sequence of 0 or more matches of the atom. An atom followed by " "\\(aq+\\(aq matches a sequence of 1 or more matches of the atom. An atom " "followed by \\(aq?\\(aq matches a sequence of 0 or 1 matches of the atom." msgstr "" #. type: Plain text #: build/C/man7/regex.7:86 msgid "" "A I is \\(aq{\\(aq followed by an unsigned decimal integer, possibly " "followed by \\(aq,\\(aq possibly followed by another unsigned decimal " "integer, always followed by \\(aq}\\(aq. The integers must lie between 0 " "and B (255\\*(dg) inclusive, and if there are two of them, the " "first may not exceed the second. An atom followed by a bound containing one " "integer I and no comma matches a sequence of exactly I matches of the " "atom. An atom followed by a bound containing one integer I and a comma " "matches a sequence of I or more matches of the atom. An atom followed by " "a bound containing two integers I and I matches a sequence of I " "through I (inclusive) matches of the atom." msgstr "" #. type: Plain text #: build/C/man7/regex.7:103 msgid "" "An atom is a regular expression enclosed in \"I<()>\" (matching a match for " "the regular expression), an empty set of \"I<()>\" (matching the null " "string)\\*(dg, a I (see below), \\(aq.\\(aq (matching " "any single character), \\(aq^\\(aq (matching the null string at the " "beginning of a line), \\(aq$\\(aq (matching the null string at the end of a " "line), a \\(aq\\e\\(aq followed by one of the characters " "\"I<^.[$()|*+?{\\e>\" (matching that character taken as an ordinary " "character), a \\(aq\\e\\(aq followed by any other character\\*(dg (matching " "that character taken as an ordinary character, as if the \\(aq\\e\\(aq had " "not been present\\*(dg), or a single character with no other significance " "(matching that character). A \\(aq{\\(aq followed by a character other than " "a digit is an ordinary character, not the beginning of a bound\\*(dg. It is " "illegal to end an RE with \\(aq\\e\\(aq." msgstr "" #. type: Plain text #: build/C/man7/regex.7:117 msgid "" "A I is a list of characters enclosed in \"I<[]>\". It " "normally matches any single character from the list (but see below). If the " "list begins with \\(aq^\\(aq, it matches any single character (but see " "below) I from the rest of the list. If two characters in the list are " "separated by \\(aq-\\(aq, this is shorthand for the full I of " "characters between those two (inclusive) in the collating sequence, for " "example, \"I<[0-9]>\" in ASCII matches any decimal digit. It is " "illegal\\*(dg for two ranges to share an endpoint, for example, " "\"I\". Ranges are very collating-sequence-dependent, and portable " "programs should avoid relying on them." msgstr "" #. type: Plain text #: build/C/man7/regex.7:128 msgid "" "To include a literal \\(aq]\\(aq in the list, make it the first character " "(following a possible \\(aq^\\(aq). To include a literal \\(aq-\\(aq, make " "it the first or last character, or the second endpoint of a range. To use a " "literal \\(aq-\\(aq as the first endpoint of a range, enclose it in " "\"I<[.>\" and \"I<.]>\" to make it a collating element (see below). With " "the exception of these and some combinations using \\(aq[\\(aq (see next " "paragraphs), all other special characters, including \\(aq\\e\\(aq, lose " "their special significance within a bracket expression." msgstr "" #. type: Plain text #: build/C/man7/regex.7:140 msgid "" "Within a bracket expression, a collating element (a character, a " "multicharacter sequence that collates as if it were a single character, or a " "collating-sequence name for either) enclosed in \"I<[.>\" and \"I<.]>\" " "stands for the sequence of characters of that collating element. The " "sequence is a single element of the bracket expression's list. A bracket " "expression containing a multicharacter collating element can thus match more " "than one character, for example, if the collating sequence includes a \"ch\" " "collating element, then the RE \"I<[[.ch.]]*c>\" matches the first five " "characters of \"chchcc\"." msgstr "" #. type: Plain text #: build/C/man7/regex.7:152 msgid "" "Within a bracket expression, a collating element enclosed in \"I<[=>\" and " "\"I<=]>\" is an equivalence class, standing for the sequences of characters " "of all collating elements equivalent to that one, including itself. (If " "there are no other equivalent collating elements, the treatment is as if the " "enclosing delimiters were \"I<[.>\" and \"I<.]>\".) For example, if o and " "\\o'o^' are the members of an equivalence class, then \"I<[[=o=]]>\", " "\"I<[[=\\o'o^'=]]>\", and \"I<[o\\o'o^']>\" are all synonymous. An " "equivalence class may not\\*(dg be an endpoint of a range." msgstr "" #. type: Plain text #: build/C/man7/regex.7:158 msgid "" "Within a bracket expression, the name of a I enclosed in " "\"I<[:>\" and \"I<:]>\" stands for the list of all characters belonging to " "that class. Standard character class names are:" msgstr "" #. type: ta #: build/C/man7/regex.7:161 #, no-wrap msgid "3c 6c 9c" msgstr "" #. type: Plain text #: build/C/man7/regex.7:166 #, no-wrap msgid "" "alnum\tdigit\tpunct\n" "alpha\tgraph\tspace\n" "blank\tlower\tupper\n" "cntrl\tprint\txdigit\n" msgstr "" #. As per http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=295666 #. The following does not seem to apply in the glibc implementation #. .PP #. There are two special cases\*(dg of bracket expressions: #. the bracket expressions "\fI[[:<:]]\fP" and "\fI[[:>:]]\fP" match #. the null string at the beginning and end of a word respectively. #. A word is defined as a sequence of #. word characters #. which is neither preceded nor followed by #. word characters. #. A word character is an #. .I alnum #. character (as defined by #. .BR wctype (3)) #. or an underscore. #. This is an extension, #. compatible with but not specified by POSIX.2, #. and should be used with #. caution in software intended to be portable to other systems. #. type: Plain text #: build/C/man7/regex.7:192 msgid "" "These stand for the character classes defined in B(3). A locale may " "provide others. A character class may not be used as an endpoint of a " "range." msgstr "" #. type: Plain text #: build/C/man7/regex.7:204 msgid "" "In the event that an RE could match more than one substring of a given " "string, the RE matches the one starting earliest in the string. If the RE " "could match more than one substring starting at that point, it matches the " "longest. Subexpressions also match the longest possible substrings, subject " "to the constraint that the whole match be as long as possible, with " "subexpressions starting earlier in the RE taking priority over ones starting " "later. Note that higher-level subexpressions thus take priority over their " "lower-level component subexpressions." msgstr "" #. type: Plain text #: build/C/man7/regex.7:216 msgid "" "Match lengths are measured in characters, not collating elements. A null " "string is considered longer than no match at all. For example, \"I\" " "matches the three middle characters of \"abbbc\", " "\"I<(wee|week)(knights|nights)>\" matches all ten characters of " "\"weeknights\", when \"I<(.*).*>\" is matched against \"abc\" the " "parenthesized subexpression matches all three characters, and when " "\"I<(a*)*>\" is matched against \"bc\" both the whole RE and the " "parenthesized subexpression match the null string." msgstr "" #. type: Plain text #: build/C/man7/regex.7:227 msgid "" "If case-independent matching is specified, the effect is much as if all case " "distinctions had vanished from the alphabet. When an alphabetic that exists " "in multiple cases appears as an ordinary character outside a bracket " "expression, it is effectively transformed into a bracket expression " "containing both cases, for example, \\(aqx\\(aq becomes \"I<[xX]>\". When " "it appears inside a bracket expression, all case counterparts of it are " "added to the bracket expression, so that, for example, \"I<[x]>\" becomes " "\"I<[xX]>\" and \"I<[^x]>\" becomes \"I<[^xX]>\"." msgstr "" #. type: Plain text #: build/C/man7/regex.7:233 msgid "" "No particular limit is imposed on the length of REs\\*(dg. Programs " "intended to be portable should not employ REs longer than 256 bytes, as an " "implementation can refuse to accept such REs and remain POSIX-compliant." msgstr "" #. type: Plain text #: build/C/man7/regex.7:249 msgid "" "Obsolete (\"basic\") regular expressions differ in several respects. " "\\(aq|\\(aq, \\(aq+\\(aq, and \\(aq?\\(aq are ordinary characters and there " "is no equivalent for their functionality. The delimiters for bounds are " "\"I<\\e{>\" and \"I<\\e}>\", with \\(aq{\\(aq and \\(aq}\\(aq by themselves " "ordinary characters. The parentheses for nested subexpressions are " "\"I<\\e(>\" and \"I<\\e)>\", with \\(aq(\\(aq and \\(aq)\\(aq by themselves " "ordinary characters. \\(aq^\\(aq is an ordinary character except at the " "beginning of the RE or\\*(dg the beginning of a parenthesized subexpression, " "\\(aq$\\(aq is an ordinary character except at the end of the RE or\\*(dg " "the end of a parenthesized subexpression, and \\(aq*\\(aq is an ordinary " "character if it appears at the beginning of the RE or the beginning of a " "parenthesized subexpression (after a possible leading \\(aq^\\(aq)." msgstr "" #. type: Plain text #: build/C/man7/regex.7:257 msgid "" "Finally, there is one new type of atom, a I: \\(aq\\e\\(aq " "followed by a nonzero decimal digit I matches the same sequence of " "characters matched by the Ith parenthesized subexpression (numbering " "subexpressions by the positions of their opening parentheses, left to " "right), so that, for example, \"I<\\e([bc]\\e)\\e1>\" matches \"bb\" or " "\"cc\" but not \"bc\"." msgstr "" #. type: Plain text #: build/C/man7/regex.7:259 msgid "Having two kinds of REs is a botch." msgstr "" #. type: Plain text #: build/C/man7/regex.7:265 msgid "" "The current POSIX.2 spec says that \\(aq)\\(aq is an ordinary character in " "the absence of an unmatched \\(aq(\\(aq; this was an unintentional result of " "a wording error, and change is likely. Avoid relying on it." msgstr "" #. type: Plain text #: build/C/man7/regex.7:272 msgid "" "Back references are a dreadful botch, posing major problems for efficient " "implementations. They are also somewhat vaguely defined (does " "\"I\" match \"abbbd\"?). Avoid using them." msgstr "" #. As per http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=295666 #. The following does not seem to apply in the glibc implementation #. .PP #. The syntax for word boundaries is incredibly ugly. #. type: Plain text #: build/C/man7/regex.7:280 msgid "" "POSIX.2's specification of case-independent matching is vague. The \"one " "case implies all cases\" definition given above is current consensus among " "implementors as to the right interpretation." msgstr "" #. type: SH #: build/C/man7/regex.7:280 #, no-wrap msgid "AUTHOR" msgstr "" #. Sigh... The page license means we must have the author's name #. in the formatted output. #. type: Plain text #: build/C/man7/regex.7:284 msgid "This page was taken from Henry Spencer's regex package." msgstr "" #. type: Plain text #: build/C/man7/regex.7:287 msgid "B(1), B(3)" msgstr "" #. type: Plain text #: build/C/man7/regex.7:288 msgid "POSIX.2, section 2.8 (Regular Expression Notation)." msgstr "" #. type: TH #: build/C/man3/wordexp.3:23 #, no-wrap msgid "WORDEXP" msgstr "" #. type: TH #: build/C/man3/wordexp.3:23 #, no-wrap msgid "2008-07-14" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:26 msgid "wordexp, wordfree - perform word expansion like a posix-shell" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:28 msgid "B<#include Ewordexp.hE>" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:30 msgid "BIB<, wordexp_t *>I

B<, int >IB<);>" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:32 msgid "BI

B<);>" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:36 msgid "Feature Test Macro Requirements for glibc (see B(7)):" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:41 msgid "B(), B(): _XOPEN_SOURCE" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:75 msgid "" "The function B() performs a shell-like expansion of the string " "I and returns the result in the structure pointed to by I

. The data " "type I is a structure that at least has the fields I, " "I, and I. The field I is a I that " "gives the number of words in the expansion of I. The field I " "is a I that points to the array of words found. The field " "I of type I is sometimes (depending on I, see below) " "used to indicate the number of initial elements in the I array " "that should be filled with NULLs." msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:83 msgid "" "The function B() frees the allocated memory again. More " "precisely, it does not free its argument, but it frees the array I " "and the strings that points to." msgstr "" #. type: SS #: build/C/man3/wordexp.3:83 #, no-wrap msgid "The string argument" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:93 msgid "" "Since the expansion is the same as the expansion by the shell (see B(1)) " "of the parameters to a command, the string I must not contain characters " "that would be illegal in shell command parameters. In particular, there " "must not be any unescaped newline or |, &, ;, E, E, (, ), {, } " "characters outside a command substitution or parameter substitution context." msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:99 msgid "" "If the argument I contains a word that starts with an unquoted comment " "character #, then it is unspecified whether that word and all following " "words are ignored, or the # is treated as a non-comment character." msgstr "" #. type: SS #: build/C/man3/wordexp.3:99 #, no-wrap msgid "The expansion" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:106 msgid "" "The expansion done consists of the following stages: tilde expansion " "(replacing ~user by user's home directory), variable substitution (replacing " "$FOO by the value of the environment variable FOO), command substitution " "(replacing $(command) or \\`command\\` by the output of command), arithmetic " "expansion, field splitting, wildcard expansion, quote removal." msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:109 msgid "" "The result of expansion of special parameters ($@, $*, $#, $?, $-, $$, $!, " "$0) is unspecified." msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:112 msgid "" "Field splitting is done using the environment variable $IFS. If it is not " "set, the field separators are space, tab and newline." msgstr "" #. type: SS #: build/C/man3/wordexp.3:112 #, no-wrap msgid "The output array" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:116 msgid "The array I contains the words found, followed by a NULL." msgstr "" #. type: SS #: build/C/man3/wordexp.3:116 #, no-wrap msgid "The flags argument" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:120 msgid "The I argument is a bitwise inclusive OR of the following values:" msgstr "" #. type: TP #: build/C/man3/wordexp.3:120 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:123 msgid "Append the words found to the array resulting from a previous call." msgstr "" #. type: TP #: build/C/man3/wordexp.3:123 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:131 msgid "" "Insert I initial NULLs in the array I. (These are not " "counted in the returned I.)" msgstr "" #. type: TP #: build/C/man3/wordexp.3:131 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:134 msgid "Don't do command substitution." msgstr "" #. type: TP #: build/C/man3/wordexp.3:134 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:144 msgid "" "The argument I

resulted from a previous call to B(), and " "B() was not called. Reuse the allocated storage." msgstr "" #. type: TP #: build/C/man3/wordexp.3:144 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:153 msgid "" "Normally during command substitution I is redirected to " "I. This flag specifies that I is not to be redirected." msgstr "" #. type: TP #: build/C/man3/wordexp.3:153 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:156 msgid "Consider it an error if an undefined shell variable is expanded." msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:160 msgid "" "In case of success 0 is returned. In case of error one of the following " "five values is returned." msgstr "" #. type: TP #: build/C/man3/wordexp.3:160 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:163 msgid "Illegal occurrence of newline or one of |, &, ;, E, E, (, ), {, }." msgstr "" #. type: TP #: build/C/man3/wordexp.3:163 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:169 msgid "" "An undefined shell variable was referenced, and the B flag told " "us to consider this an error." msgstr "" #. type: TP #: build/C/man3/wordexp.3:169 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:174 msgid "" "Command substitution occurred, and the B flag told us to " "consider this an error." msgstr "" #. type: TP #: build/C/man3/wordexp.3:174 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:177 msgid "Out of memory." msgstr "" #. type: TP #: build/C/man3/wordexp.3:177 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:181 msgid "Shell syntax error, such as unbalanced parentheses or unmatched quotes." msgstr "" #. type: SH #: build/C/man3/wordexp.3:181 #, no-wrap msgid "VERSIONS" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:186 msgid "B() and B() are provided in glibc since version 2.1." msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:191 msgid "" "The output of the following example program is approximately that of \"ls " "[a-c]*.c\"." msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:196 #, no-wrap msgid "" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Ewordexp.hE\n" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:203 #, no-wrap msgid "" "int\n" "main(int argc, char **argv)\n" "{\n" " wordexp_t p;\n" " char **w;\n" " int i;\n" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:211 #, no-wrap msgid "" " wordexp(\"[a-c]*.c\", &p, 0);\n" " w = p.we_wordv;\n" " for (i = 0; i E p.we_wordc; i++)\n" " printf(\"%s\\en\", w[i]);\n" " wordfree(&p);\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. type: Plain text #: build/C/man3/wordexp.3:214 msgid "B(3), B(3)" msgstr ""