Module Name: src Committed By: jruoho Date: Tue Nov 30 20:59:10 UTC 2010
Modified Files: src/distrib/sets/lists/man: mi src/share/man/man7: Makefile Added Files: src/share/man/man7: glob.7 Log Message: Add glob(7). >From OpenBSD. Written by Todd C. Miller. To generate a diff of this commit: cvs rdiff -u -r1.1257 -r1.1258 src/distrib/sets/lists/man/mi cvs rdiff -u -r1.24 -r1.25 src/share/man/man7/Makefile cvs rdiff -u -r0 -r1.1 src/share/man/man7/glob.7 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/distrib/sets/lists/man/mi diff -u src/distrib/sets/lists/man/mi:1.1257 src/distrib/sets/lists/man/mi:1.1258 --- src/distrib/sets/lists/man/mi:1.1257 Tue Nov 30 20:50:28 2010 +++ src/distrib/sets/lists/man/mi Tue Nov 30 20:59:10 2010 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.1257 2010/11/30 20:50:28 jruoho Exp $ +# $NetBSD: mi,v 1.1258 2010/11/30 20:59:10 jruoho Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -1963,6 +1963,7 @@ ./usr/share/man/cat7/c99.0 man-reference-catman .cat ./usr/share/man/cat7/des_modes.0 man-reference-catman crypto,.cat ./usr/share/man/cat7/environ.0 man-reference-catman .cat +./usr/share/man/cat7/glob.0 man-reference-catman .cat ./usr/share/man/cat7/hier.0 man-reference-catman .cat ./usr/share/man/cat7/hostname.0 man-reference-catman .cat ./usr/share/man/cat7/intro.0 man-reference-catman .cat @@ -4574,6 +4575,7 @@ ./usr/share/man/html7/c99.html man-reference-htmlman html ./usr/share/man/html7/des_modes.html man-reference-htmlman crypto,html ./usr/share/man/html7/environ.html man-reference-htmlman html +./usr/share/man/html7/glob.html man-reference-htmlman html ./usr/share/man/html7/hier.html man-reference-htmlman html ./usr/share/man/html7/hostname.html man-reference-htmlman html ./usr/share/man/html7/intro.html man-reference-htmlman html @@ -7161,6 +7163,7 @@ ./usr/share/man/man7/c99.7 man-reference-man .man ./usr/share/man/man7/des_modes.7 man-reference-man crypto,.man ./usr/share/man/man7/environ.7 man-reference-man .man +./usr/share/man/man7/glob.7 man-reference-man .man ./usr/share/man/man7/hier.7 man-reference-man .man ./usr/share/man/man7/hostname.7 man-reference-man .man ./usr/share/man/man7/intro.7 man-reference-man .man Index: src/share/man/man7/Makefile diff -u src/share/man/man7/Makefile:1.24 src/share/man/man7/Makefile:1.25 --- src/share/man/man7/Makefile:1.24 Tue Nov 30 20:50:28 2010 +++ src/share/man/man7/Makefile Tue Nov 30 20:59:10 2010 @@ -1,9 +1,9 @@ -# $NetBSD: Makefile,v 1.24 2010/11/30 20:50:28 jruoho Exp $ +# $NetBSD: Makefile,v 1.25 2010/11/30 20:59:10 jruoho Exp $ # @(#)Makefile 8.1 (Berkeley) 6/5/93 # missing: eqnchar.7 man.7 ms.7 term.7 -MAN= ascii.7 c.7 environ.7 hier.7 hostname.7 intro.7 mailaddr.7 \ +MAN= ascii.7 c.7 environ.7 glob.7 hier.7 hostname.7 intro.7 mailaddr.7 \ nls.7 operator.7 orders.7 pkgsrc.7 release.7 \ script.7 setuid.7 signal.7 sticky.7 symlink.7 sysctl.7 \ tests.7 Added files: Index: src/share/man/man7/glob.7 diff -u /dev/null src/share/man/man7/glob.7:1.1 --- /dev/null Tue Nov 30 20:59:11 2010 +++ src/share/man/man7/glob.7 Tue Nov 30 20:59:10 2010 @@ -0,0 +1,153 @@ +.\" $NetBSD: glob.7,v 1.1 2010/11/30 20:59:10 jruoho Exp $ +.\" +.\" $OpenBSD: glob.7,v 1.3 2009/12/26 15:24:54 schwarze Exp $ +.\" +.\" Copyright (c) 2009 Todd C. Miller <todd.mil...@courtesan.com> +.\" +.\" Permission to use, copy, modify, and distribute this software for any +.\" purpose with or without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.Dd November 30, 2010 +.Dt GLOB 7 +.Os +.Sh NAME +.Nm glob +.Nd shell-style pattern matching +.Sh DESCRIPTION +Globbing characters +.Pq wildcards +are special characters used to perform pattern matching of pathnames and +command arguments in the +.Xr csh 1 , +.Xr ksh 1 , +and +.Xr sh 1 +shells as well as +the C library functions +.Xr fnmatch 3 +and +.Xr glob 3 . +A glob pattern is a word containing one or more unquoted +.Ql \&? +or +.Ql * +characters, or +.Dq [..] +sequences. +.Pp +Globs should not be confused with the more powerful +regular expressions used by programs such as +.Xr grep 1 . +While there is some overlap in the special characters used in regular +expressions and globs, their meaning is different. +.Pp +The pattern elements have the following meaning: +.Bl -tag -width Ds +.It \&? +Matches any single character. +.It \&* +Matches any sequence of zero or more characters. +.It [..] +Matches any of the characters inside the brackets. +Ranges of characters can be specified by separating two characters by a +.Ql - +(e.g.\& +.Dq [a0-9] +matches the letter +.Sq a +or any digit). +In order to represent itself, a +.Ql - +must either be quoted or the first or last character in the character list. +Similarly, a +.Ql \&] +must be quoted or the first character in the list if it is to represent itself +instead of the end of the list. +Also, a +.Ql \&! +appearing at the start of the list has special meaning (see below), so to +represent itself it must be quoted or appear later in the list. +.Pp +Within a bracket expression, the name of a +.Em character class +enclosed in +.Sq [: +and +.Sq :] +stands for the list of all characters belonging to that class. +Supported character classes: +.Bl -column "xdigit" "xdigit" "xdigit" -offset indent +.It Li "alnum" Ta "cntrl" Ta "lower" Ta "space" +.It Li "alpha" Ta "digit" Ta "print" Ta "upper" +.It Li "blank" Ta "graph" Ta "punct" Ta "xdigit" +.El +.Pp +These match characters using the macros specified in +.Xr ctype 3 . +A character class may not be used as an endpoint of a range. +.It [!..] +Like [..], +except it matches any character not inside the brackets. +.It \e +Matches the character following it verbatim. +This is useful to quote the special characters +.Ql \&? , +.Ql \&* , +.Ql \&[ , +and +.Ql \e +such that they lose their special meaning. +For example, the pattern +.Dq \e\e\e\&*\e[x]\e\&? +matches the string +.Dq \e\&*[x]\&? . +.El +.Pp +Note that when matching a pathname, the path separator +.Ql / , +is not matched by a +.Ql \&? , +or +.Ql * , +character or by a +.Dq [..] +sequence. +Thus, +.Pa /usr/*/*/X11 +would match +.Pa /usr/X11R6/lib/X11 +and +.Pa /usr/X11R6/include/X11 +while +.Pa /usr/*/X11 +would not match either. +Likewise, +.Pa /usr/*/bin +would match +.Pa /usr/local/bin +but not +.Pa /usr/bin . +.Sh SEE ALSO +.Xr fnmatch 3 , +.Xr glob 3 , +.Xr re_format 7 +.Sh HISTORY +In early versions of +.Ux , +the shell did not do pattern expansion itself. +A dedicated program, +.Pa /etc/glob , +was used to perform the expansion and pass the results to a command. +In +.At v7 , +with the introduction of the Bourne shell, +this functionality was incorporated into the shell itself.