1.globbing是什么?
globbing表示通配符,BASH支持文件名通配。
2.globbing常用列表及使用心得
序号 | 符号 | 使用心得 |
1 | ? | 表示任意一个字符,注意与常规的正则表达式的区别。(正则中?表示可选的) |
2 | * | 表示任意长度任意字符,与正则有差异。比如: globbing中a*表示以a开头,之后是任意长度字符(也就是说*无法作用于前面的a) 而正则中表示a出现>=0次。 从这里可以看出globbing具有一定的局限性,没有正则对模式的强大支持。 |
3 | [...] | 支持[],表示取区间中的一个值,与正则一致。如: [a-z],[A-Z],[0-9]。也支持[^]进行取反。 |
4 | [[:xxx:]] | 举例说明,如[:space:]表示空白字符集合,那么[[:space:]]则表示取集合中的一个元素,[^[:space:]]表示非空白字符。 常用的有: [:space:] 空白字符集 [:punct:] 标点符号集 [:digit:] 数字集,就相当于[0-9] [:alpha:] 字母集,就相当于[a-zA-Z] [:lower:] 小写字母集,就相当于[a-z] [:upper:] 大写字母集,就相当于[A-Z] [:alnum:] 字母+数字集,就相当于[a-zA-Z0-9] 可以通过man 7 glob来获取帮助。 |
通过上面的描述也许大家还不知道如何具体操作,看下面就知道了。。。 |
3.通配实战
下面举个小例子,来帮助大家认识。
[root@localhost test]# ls -l [[:alpha:]]*[[:digit:]] -rw-r--r-- 1 root root 0 May 9 16:15 A9 -rw-r--r-- 1 root root 0 May 9 16:16 a9 |
上面表示,查找以字母开头,数字结尾的文件。
转载于:https://blog.51cto.com/zhangfengzhe/1409363