|
|
1.1 ! root 1: .so tmac.ilib ! 2: .TH FSET 1 "The University of Arizona \- 8/15/84" ! 3: .SH NAME ! 4: fset \- perform set operations on UNIX file specifications ! 5: .SH SYNOPSIS ! 6: \*Mfset\fP argument ! 7: .SH DESCRIPTION ! 8: The UNIX shell provides for the specification of filenames using ``wildcards''. ! 9: Each wildcard specification may be thought of as defining a set of names ! 10: (that is, those that match the specification). ! 11: \fIFset\fR allows the user to apply the set operations of intersection, ! 12: union, and difference to these filename sets. The resultant list may then ! 13: be used as an argument to other shell commands. ! 14: .PP ! 15: \fIFset\fR's argument is an expression composed of legal UNIX ! 16: file specifications, parenthesis, and the following set operators: ! 17: .DS ! 18: .ta .5i ! 19: && \fRintersection\*M ! 20: ++ \fRunion\*M ! 21: \-\- \fRdifference\fR ! 22: .DE ! 23: Because characters that ! 24: have special meaning to the shell occur frequently in the arguments used ! 25: for \fIfset\fR, it is advisable to quote the arguments consistently. ! 26: .PP ! 27: The use of \fIfset\fR is illustrated by the following examples: ! 28: .DS ! 29: fset 'g*\-\-*.icn' ! 30: .DE ! 31: produces the list (set) of filenames for files beginning with \*Mg\fR, ! 32: excluding those ending with \*M.icn\fR. ! 33: .PP ! 34: Similarly, ! 35: .DS ! 36: fset '*' ! 37: .DE ! 38: produces all files in the current directory excluding the \*M.\fR and \*M..\fR files. ! 39: .DS ! 40: fset '((*\-\-*.icn)++c*)' ! 41: .DE ! 42: and ! 43: .DS ! 44: fset '(*\-\-*.icn)++c*' ! 45: .DE ! 46: produces the complement of all filenames ending with \*M.icn\fR in addition to ! 47: all filenames beginning with \*Mc\fR. ! 48: .DS ! 49: fset '(((c? && c*)))' ! 50: .DE ! 51: is a redundant, but legal, specification for all two-character filenames ! 52: that begin with \*Mc\fR, while ! 53: .DS ! 54: fset '.*' ! 55: .DE ! 56: produces the set of filenames for all hidden files, excluding the \*M.\fR and \*M..\fR ! 57: files. ! 58: .SH REQUIREMENTS ! 59: \fIFset\fR requires the sets extension to Icon. \fIGset\fR performs ! 60: the same functions as \fIFset(1)\fR, but does not require the sets ! 61: extension. ! 62: .SH LIMITATIONS ! 63: Multiple command line arguments, formed by omitting the quotes around the ! 64: file set expression, are permitted. ! 65: Their use is limited, however, since parentheses do not get past ! 66: the shell's command-line expansion. ! 67: .PP ! 68: Almost any legal file specification will work when enclosed in quotes ! 69: except that the simple grammar that is used cannot handle blanks ! 70: adjacent to parentheses. ! 71: .PP ! 72: File names that begin or end in ``questionable'' characters ! 73: such as \*M*\fR, \*M?\fR, \*M+\fR, \*M\-\fR, and \*M&\fR, probably will not work. ! 74: .PP ! 75: A file specification that, when interpreted by the shell, ! 76: produces no matching filename will be placed (unchanged) in the result. ! 77: .SH SEE ALSO ! 78: gcomp(1), ! 79: gset(1) ! 80: .PP ! 81: .Ex ! 82: .SH AUTHOR ! 83: Thomas R. Hicks
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.