shell script: pattern match (模式识别)

关键词: 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

你可能感兴趣的:(shell script: pattern match (模式识别))