linux通配符详解

linux中常用的通配符:

通配符 作用
* 匹配0个或多个任意字符
? 匹配任意单个字符
[abc] 匹配abc中的任意单个字符
[!abc] 匹配除abc中的任意单个字符
[a-z] 匹配a-z中任意单个字符(难点)
{string1,string2,…} 匹配string1,string2,或更多字符串

案例及详解

前提条件:
有file.jpg,file1.jpg,file2.jpg…file14.jpg共15个文件

linux通配符详解

ll file*.jpg可查询出所有文件
linux通配符详解

ll file?.jpg
查询结果为9个文件,因为’?'是匹配任意单个字符,单个即一个,file.jpg为0个,而file10.jpg、file11.jpg…中10和11是两个字符,所以不匹配

linux通配符详解

ll file[123].jpg
linux通配符详解

ll file[!123].jpg
匹配除123的任意单个字符,因11、12、13等不是单个字符,所以不被匹配

linux通配符详解

ll file[1-14].jpg
结果是两个而不是十四个,因‘[]’是匹配单个字符,即可匹配1-1组中字符和4,1-1中只有1

linux通配符详解

ll file[1-34].jpg
可匹配1-3或4,1-3中可选1、2、3,故共四个

linux通配符详解

ll file[2-14].jpg
可匹配2-1或4,2-1为0个,故只匹配4

linux通配符详解

ll file{1,2,3,14}.jpg
'{}'为匹配多个字符串,以‘,’分隔

linux通配符详解

ll file{1…14}.jpg
特殊用法,匹配1、2、3…14共14个,必须是’…’

linux通配符详解