linux通配符(linux

35小吃技术网 推荐阅读 2022年12月18日21时50分41秒 153 0

Linux通配符(Linux——有这些通配符更方便!)

shell中提供了一些特殊字符来帮助我们快速找到一组指定的文件(目录)。这些特殊字符称为通配符。通配符可以使shell编程更容易。

常见通配符

1) *

linux通配符(linux-第1张图片

匹配任意数量的字符(包括0)。这也是我们最常用的一个。它可以匹配所有文件(目录)名称。

2) ?

匹配任意单个字符(必须有一个,没有也不行)。这样可以让我们更精准的匹配。*匹配的还是很多的。

3)[字符]

匹配属于字符集的任何字符,chars表示一组字符。

4) [!字符]

匹配任何不属于字符集的字符,chars代表一组字符!倒置。

5) [[:class:]]

匹配属于指定字符类的字符。【:class:】表示字符类,如数字、大小写字母等。

常见字符类别:

[:alnum:]:匹配任何字母或数字,用传统的UNIX: a-zA-Z0-9书写。

linux通配符(linux-第2张图片

[: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