|
|
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.