SSH, The Secure Shell: The Definitive Guide, 2nd Edition
by Daniel J. Barrett, Richard E. Silverman, Robert G. Byrnes
Character Sets for Egrep and ZSH_FILEGLOB
A character set starts with [ and ends at non-escaped ] that is not part of a POSIX character set
specifier and that does not follow immediately after [.
The following characters have a special meaning and need to be escaped if meant literally:
-(minus sign)A range operator, except immediately after
[where it loses its special meaning.^or!(latter applies to ZSH_FILEGLOB)If immediately after the starting
[, denotes a complement: the whole character set will be complemented. Otherwise, literal.[:alnum:]Characters for which
isalnumreturnstrue(see ctype.h).[:alpha:]Characters for which
isalphareturnstrue(see ctype.h).[:cntrl:]Characters for which
iscntrlreturnstrue(see ctype.h).[:digit:]Characters for which
isdigitreturnstrue(see ctype.h).[:graph:]Characters for which
isgraphreturnstrue(see ctype.h).[:lower:]Characters for which
islowerreturnstrue(see ctype.h).[:print:]Characters for which
isprintreturnstrue(see ctype.h).[:punct:]Characters for which
ispunctreturnstrue(see ctype.h).[:space:]Characters for which
isspacereturnstrue(see ctype.h).[:upper:]Characters for which
isupperreturnstrue(see ctype.h).[:xdigit:]Characters for which
isxdigitreturnstrue(see ctype.h).
Example
[[:xdigit:]XY]
is typically equivalent to:
[0123456789ABCDEFabcdefXY] .
It is also possible to include the predefined escaped character sets into a newly defined one, so:
[\d\s]
matches digits and whitespace characters.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access