首页 > 技术文章 > shell中的常用通配符,字符类

hxphp 2017-04-14 10:52 原文

因为 shell 频繁 地使用文件名,shell 提供了特殊字符来帮助你快速指定一组文件名。这些特殊字符叫做通配符。

  通配符            意义

  *         匹配任意多个字符(包括零个或一个)
  ?         匹配任意一个字符(不包括零个)
  [characters]     匹配任意一个属于字符集中的字符
  [!characters]    匹配任意一个不是字符集中的字符
  [[:class:]]      匹配任意一个属于指定字符类中的字符

  

     字符类         意义

  [:alnum:]      匹配任意一个字母或数字
  [:alpha:]       匹配任意一个字母
  [:digit:]        匹配任意一个数字
  [:lower:]       匹配任意一个小写字母
  [:upper]       匹配任意一个大写字母

 

一些常用的匹配:

  模式                     匹配对象
  *                     所有文件
  g*                   文件名以“g”开头的文件
  b*.txt               以”b” 开头,中间有零个或任意多个字符,并以”.txt” 结尾的文件
  Data???                          以“Data”开头,其后紧接着 3 个字符的文件
  [abc]*                           文件名以”a”,”b”, 或”c” 开头的文件
  BACKUP.[0-9][0-9][0-9]       以”BACKUP.” 开头,并紧接着 3 个数字的文件
  [[:upper:]]*             以大写字母开头的文件
  [![:digit:]]*              不以数字开头的文件
  *[[:lower:]123]            文件名以小写字母结尾,或以“1”,“2”,或“3”结尾的文件         

推荐阅读