*** Filename Generation Following substitution, each command word is scanned for the characters * (asterisk), ? (question mark), and [ ] (brackets), unless the -f option was set. If one of these characters appears, the word is regarded as a pat- tern. The word is replaced with lexicographically sorted filenames that match the pattern. If no filename is found that matches the pattern, the word is left unchanged. When a pattern is used for filename generation, the . (dot) character at the start of a filename or immediately following a / (slash), as well as the / character itself, must be matched explicitly. In other instances of pattern matching, the / and . are not treated spe- cially. * Matches any string, including the null string. ? Matches any single character. [...] Matches any one of the enclosed characters. In an expression such as [a-z], the - (dash) means "through" according to the current collating sequence. The collating sequence is determined by the value of the LC_COLLATE environment variable. If the first character following the [ (left bracket) is a ! (exclamation point), then any character not enclosed is matched. A - can be included in the character set by put- ting it as the first or last character. A pattern_list is a list of one or more patterns separated from each other with a | (vertical bar). Composite patterns can be formed with one or more of the following: ?(pattern_list) Optionally matches any one of the given patterns. *(pattern_list) Matches zero or more occurrences of the given patterns. +(pattern_list) Matches one or more occurrences of the given patterns. @(pattern_list) Matches exactly one of the given patterns. !(pattern_list) Matches anything, except one of the given patterns. Character Classes You can use the following notation to match filenames within a range indi- cation: [:charclass:] This format instructs the system to match any single character belonging to charclass; the defined classes correspond to ctype() subroutines as fol- lows: alnum alpha cntrl digit graph lower print punct space upper xdigit Your locale might define additional character properties, such as the fol- lowing: [:vowel:] The preceding character class could be TRUE for a, e, i, o, u, or y. You could then use [:vowel] inside a set construction to match any vowel. Refer to The LC_CTYPE Category section of the locale file format reference page for more information.