linux通配符(linux

【linux通配符(linux】Linux通配符(Linux——有这些通配符更方便!)
序shell中提供了一些特殊字符来帮助我们快速找到一组指定的文件(目录) 。这些特殊字符称为通配符 。通配符可以使shell编程更容易 。
常见通配符1) *
匹配任意数量的字符(包括0) 。这也是我们最常用的一个 。它可以匹配所有文件(目录)名称 。
2) ?
匹配任意单个字符(必须有一个,没有也不行) 。这样可以让我们更精准的匹配 。*匹配的还是很多的 。
3)[字符]
匹配属于字符集的任何字符 , chars表示一组字符 。
4) [!字符]
匹配任何不属于字符集的字符,chars代表一组字符!倒置 。
5) [[:class:]]
匹配属于指定字符类的字符 。【:class:】表示字符类,如数字、大小写字母等 。
常见字符类别:
[:alnum:]:匹配任何字母或数字,用传统的UNIX: a-zA-Z0-9书写 。
[:alpha:]:匹配任何用传统UNIX: A-ZA-Z书写的字母 。
[:digit:]:匹配任何数字 。传统UNIX写作:0-9
[:lower:]:匹配任何小写字母 。传统UNIX写作:A-Z 。
[:upper:]:匹配任何大写字母,用传统的UNIX: A-Z书写 。
例子Ls * #匹配所有文件(目录)
Ls g* #匹配任何以g开头的文件(目录) 。
Ls * 。txt #匹配以a开头并以结尾的文件(目录) 。文本文件(textfile)
ls data_???#匹配数据开头的文件(目录),后跟三个字符
Ls [abc]* #匹配以任何abc字符开头的文件(目录) 。
ls backup[[:digit:]][[:digit:]][[:digit:]]#匹配backup开头后面三位数的文件(目录)也会写成backup[0-9][0-9][0-9],也是可以的 。这是传统的UNIX书写方法 。
Ls [[:upper:]]* #匹配以大写字母开头的文件(目录)
ls [![:digit:]]* #匹配不以数字开头的文件(目录)
Ls *[[:lower:]123] #匹配以小写字母或1、2、3

    推荐阅读