
628
|
Chapter 6: The Bash Shell and Korn Shell
This is the Title of the Book, eMatter Edition
Copyright © 2006 O’Reilly & Associates, Inc. All rights reserved.
This pattern can be a sequence of patterns separated by |, meaning that the match
applies to any of the patterns. This extended syntax resembles that available in
egrep and awk. In the Korn shell, but not in Bash, if & is used instead of |, all the
patterns must match. & has higher precedence than |.
ksh93 and Bash support the POSIX [[=c=]] notation for matching characters that
have the same weight, and [[.c.]] for specifying collating sequences. In addition,
character classes, of the form [[:class:]], allow you to match the following classes
of characters.
Bash and ksh93 also accept the [:word:] character class, which is not in POSIX.
[[:word:]] is equivalent to [[:alnum:]_].
Examples
$ ls new* List new and new.1
$ cat ch? Match ch9 but not ch10
$ vi [D-R]* Match files that begin with uppercase D through R
$ pr !(*.o|core) | lp Print files that are not object files or core dumps
On modern systems, ranges such as [D-R] are not portable; the sys-
tem’s locale may include more than just the uppercase letters from
D to R in the range.
Quoting
Quoting disables a character’s special meaning and allows it to be used literally, as
itself. The following table displays characters that have special meaning to the
Bash and Korn shells.
Class Characters matched ...