版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/weini1111/article/details/72896874
通配符是系统level的 而正则表达式需要相关工具的支持: egrep, awk, vi, perl。
在文本过滤工具里,都是用正则表达式,比如像awk,sed等,是针对文件的内容的。
通配符多用在文件名上,比如查找find,ls,cp,等等。
- 1
- 2
- 3
- 4
1.通配符
shell 的叫法,某些字符的集合
符号 | |
---|---|
? | 任意一个字符 |
* | 0-多个任意字符 |
[ab] | 只匹配其中的一个字符 |
[a-z] | 只匹配a-z其中的一个字符 |
[^ab] | 除了a或b |
[^a-z]? | 除了a-z开头后面有一个字符,第一个字符不能是字母开头的 |
ls [a-z][0-9] | 第一个字符是字母,第二个是数字 |
ls ?* | 第一个任意字符,后面随意 |
ls * | 0-多个任意字符 |
- ?和* 不能匹配.
- []匹配一个字符
2.正则
符号 | |
---|---|
. | 代表单个字符,类似shell? |
+ | 前面字符可以出现多次,即一次以上,不能是0次 |
? | 前面字符可以出现1次或0次 |
^a | 以a开头 |
x$ | 以x结尾 |
.* | 相当于shell里的* |