关键词: Linux, pattern match, 模式识别, 匹配
以下摘自:书名: Linux Shell Scripting with Bash ,作者:Ken O. Burtch
?(pattern-list)—Matches zero or one occurrence 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
例子:
COMPANY=”AAA Ballistics Ltd”
if [[ $COMPANY = +(A)*Ltd ]] ; then
printf “The company name begins with one or more A’s and finishes with Ltd\n”
fi
其它:
[:alnum:]—Alphanumeric
[:alpha:]—Alphabetic
[:ascii:]—ASCII characters
[:blank:]—Space or tab
[:cntrl:]—Control characters
[:digit:]—Decimal digits
[:graph:]—Non-blank characters
[:lower:]—Lowercase characters
[:print:]—Non-control characters
[:punct:]—Punctuation characters
[:space:]—Whitespace
[:upper:]—Uppercase characters
[:xdigit:]—Hexadecimal digits
例子:
COMPANY=”2nd Rate Solutions”
if [[ $COMPANY = [[ :digit:]]*]] ; then
printf “Company name starts with a digit\n”
fi
例子:
$ ls *+(.c|.h)
actions.c coledit.c config.c dump.c form.c form.h main.c
以下摘自:书名: Linux Shell Scripting with Bash ,作者:Ken O. Burtch
?(pattern-list)—Matches zero or one occurrence 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
例子:
COMPANY=”AAA Ballistics Ltd”
if [[ $COMPANY = +(A)*Ltd ]] ; then
printf “The company name begins with one or more A’s and finishes with Ltd\n”
fi
其它:
[:alnum:]—Alphanumeric
[:alpha:]—Alphabetic
[:ascii:]—ASCII characters
[:blank:]—Space or tab
[:cntrl:]—Control characters
[:digit:]—Decimal digits
[:graph:]—Non-blank characters
[:lower:]—Lowercase characters
[:print:]—Non-control characters
[:punct:]—Punctuation characters
[:space:]—Whitespace
[:upper:]—Uppercase characters
[:xdigit:]—Hexadecimal digits
例子:
COMPANY=”2nd Rate Solutions”
if [[ $COMPANY = [[ :digit:]]*]] ; then
printf “Company name starts with a digit\n”
fi
例子:
$ ls *+(.c|.h)
actions.c coledit.c config.c dump.c form.c form.h main.c