linux文件名通配

通配符是一种特殊语句,用来模糊搜索文件。当查找文件夹或目录时,可以使用它来代替一个或多个真正字符

 

   通配符:
        *: 匹配任意长度的任意字符(包令0个字符)

        [root@feng tt]# ls
                ab  abb  abc  abm  xab  # 如有文件
        [root@feng tt]# ls ab*
            ab  abb  abc  abm    # 匹配以ab开头后面跟着任意字符
        [root@feng tt]# ls *ab
            ab  xab              # 匹配以ab结尾
        [root@feng tt]# ls *ab*
            ab  abb  abc  abm  xab    #匹配包含ab的文件

 

        ?:匹配任意单个字符

       [root@feng tt]# ls a?
            ab

        [ ]: 匹配指定字符范围内的任意单个字符,通配符本身不会匹分大小写的这一点要注意到。

        [xyz]    # 匹配xyz

        [a-z]    # 匹配a-z的字母集

        [A-Z]   # 匹配大写字母集

        [0-9]   # 匹配数字

        [0-9a-zA-Z]   # 匹配数字大小写字母

        [root@feng tmp]# ls a[0-9]*
        a1b  a2b  a3b  a4b  a5b  a6b  a7b  a8b  a9b

        建议使用POSI规范来匹配,如下的字符集可以匹分大小写
        [[:upper:]]    所有大写字母
        [[:lower:]]    小写字母
        [[:alpha:]]    大小写字母集
        [[:digit:]]      数字
        [[:alnum:]]   包含数字和字母表
        [[:space:]]    空格
        [[:punct:]]    标点符号


        [^]: 匹配指定字符范围外的任意单个字符         对匹配的取反

  [root@feng tmp]# rm -rf ./[^my]*   # 删除当前目录中非my开头的文件,后面用了*号来表示后面不管是什么结尾
  [^0-9]  # 非数字以外的任意字符
  [^[:digit:]]  # 如果是字符集请用这种写法

 

本文出自 “菜鸟日志” 博客,请务必保留此出处http://zkxfoo.blog.51cto.com/1605971/1660755

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。