通配符是一种特殊语句,用来模糊搜索文件。当查找文件夹或目录时,可以使用它来代替一个或多个真正字符
通配符:
*: 匹配任意长度的任意字符(包令0个字符)
[[email protected] tt]# ls ab abb abc abm xab # 如有文件 [[email protected] tt]# ls ab* ab abb abc abm # 匹配以ab开头后面跟着任意字符 [[email protected] tt]# ls *ab ab xab # 匹配以ab结尾 [[email protected] tt]# ls *ab* ab abb abc abm xab #匹配包含ab的文件
?:匹配任意单个字符
[[email protected] tt]# ls a? ab
[ ]: 匹配指定字符范围内的任意单个字符,通配符本身不会匹分大小写的这一点要注意到。
[xyz] # 匹配xyz [a-z] # 匹配a-z的字母集 [A-Z] # 匹配大写字母集 [0-9] # 匹配数字 [0-9a-zA-Z] # 匹配数字大小写字母 [[email protected] tmp]# ls a[0-9]* a1b a2b a3b a4b a5b a6b a7b a8b a9b
建议使用POSI规范来匹配,如下的字符集可以匹分大小写
[[:upper:]] 所有大写字母
[[:lower:]] 小写字母
[[:alpha:]] 大小写字母集
[[:digit:]] 数字
[[:alnum:]] 包含数字和字母表
[[:space:]] 空格
[[:punct:]] 标点符号
[^]: 匹配指定字符范围外的任意单个字符 对匹配的取反
[[email protected] tmp]# rm -rf ./[^my]* # 删除当前目录中非my开头的文件,后面用了*号来表示后面不管是什么结尾
[^0-9] # 非数字以外的任意字符 [^[:digit:]] # 如果是字符集请用这种写法
时间: 2024-10-28 10:44:52