您的位置:首页 > 运维架构 > Linux

linux文件名通配

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

通配符:
*: 匹配任意长度的任意字符(包令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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: