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

shell脚本编程之通配符

2016-07-10 12:51 375 查看
* 匹配任意长度的任意字符
? 匹配任意单个字符
[0-9] 匹配所有数字
[ ] 匹配指定范围内的任意单个字符
[^] 匹配指定范围外的任意单个字符
[wxc] 匹配列表中的任何的一个字符
[^wxc] 匹配列表中的所有字符以外的字符
预定义的字符类:#man 7 glob
[[:digit:]]:任意数字,相当于0-9
[[:lower:]]:任意小写字母
[[:upper:]]: 任意大写字母
[[:alpha:]]: 任意大小写字母(包括大小写)
[[:alnum:]]:任意数字或字母
[[:space:]]:空格和Tab
[[:punct:]]:标点符号

匹配指定范围外的任意单个字符
[^[:upper]]
[^0-9]
[^[:alnum]]

练习:
1、显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录
ls /var/l*[0-9]*[[:lower]]
2、显示/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录
ls /etc/[0-9]*[^0-9]
3、显示/etc/目录下以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录
ls /etc/[^[:alpha:]][[:alpha:]]*
4、显示/etc目录下所有以m开头以非数字结尾的文件或目录
ls /etc/m*[^0-9]
5、显示/etc目录下,所有以.d结尾的文件或目录
ls /etc/*.d
6、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录
ls /etc/[mnrp]*.conf
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息