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
? 匹配任意单个字符
[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
相关文章推荐
- android wifi 无线调试
- 运维入门
- 动态清空 nohup 输出文件
- install scrapy with pip and easy_install
- Linux Shell常用技巧
- Shell 脚本编程陷阱
- shell字符串操作详解
- Shell中删除某些文件外所有文件的3个方法
- Ruby中执行Linux shell命令的六种方法详解
- Vbs 脚本编程简明教程之一
- VB使用shell函数打开外部exe程序的实现方法
- Shell编程的一些知识集合
- PowerShell中使用通配符匹配文件路径的例子
- Shell中的for和while循环详细总结
- PowerShell中使用Like运算符配合通配符查找字符串例子
- 什么是Shell?Shell脚本基础知识详细介绍
- Shell脚本中引用、调用另一个脚本文件的2种方法
- Shell脚本解压rpm软件包
- Linux Shell 数组建立及使用技巧
- 脚本编程 4 驱动器