GSET(1) Icon Program Library GSET(1) NNNNAAAAMMMMEEEE gset - perform set operations on UNIX file specifications SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS ggggsssseeeetttt argument DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN The UNIX shell provides for the specification of filenames using ``wildcards''. Each wildcard specification may be thought of as defining a set of names (that is, those that match the specification). _G_s_e_t allows the user to apply the set operations of intersection, union, and difference to these filename sets. The resultant list may then be used as an argument to other shell commands. _G_s_e_t's argument is an expression composed of legal UNIX file specifications, parenthesis, and the following set opera- tors: && intersection ++++++++ union -------- difference Because characters that have special meaning to the shell occur frequently in the arguments used for _g_s_e_t, it is advisable to quote the arguments consistently. The use of _g_s_e_t is illustrated by the following examples: gset 'g*--*.icn' produces the list (set) of filenames for files beginning with gggg, excluding those ending with ....iiiiccccnnnn. Similarly, gset '*' produces all files in the current directory excluding the .... and ........ files. gset '((*--*.icn)++c*)' and gset '(*--*.icn)++c*' produces the complement of all filenames ending with ....iiiiccccnnnn in addition to all filenames beginning with cccc. gset '(((c? && c*)))' Version 5.9 The University of Arizona - 8/16/84 1 GSET(1) Icon Program Library GSET(1) is a redundant, but legal, specification for all two- character filenames that begin with cccc, while gset '.*' produces the set of filenames for all hidden files, exclud- ing the .... and ........ files. LLLLIIIIMMMMIIIITTTTAAAATTTTIIIIOOOONNNNSSSS Multiple command line arguments, formed by omitting the quotes around the file set expression, are permitted. Their use is limited, however, since parentheses do not get past the shell's command-line expansion. Almost any legal file specification will work when enclosed in quotes except that the simple grammar that is used cannot handle blanks adjacent to parentheses. File names that begin or end in ``questionable'' characters such as ****, ????, ++++, ----, and &&&&, probably will not work. A file specification that, when interpreted by the shell, produces no matching filename will be placed (unchanged) in the result. SSSSEEEEEEEE AAAALLLLSSSSOOOO gcomp(1), fset(1) AAAAUUUUTTTTHHHHOOOORRRR Thomas R. Hicks Version 5.9 The University of Arizona - 8/16/84 2