"通配符"和"正则表达式"的区别

通配符是系统level的 而正则表达式需要相关工具的支持: egrep, awk, vi, perl。

在文本过滤工具里,都是用正则表达式,比如像awk,sed等,是针对文件的内容的。
通配符多用在文件名上,比如查找find,ls,cp,等等。

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里的*
+ 和shell中的不一样,这里的表示前面字符可以出现0-多次。
阅读更多
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/weini1111/article/details/72896874
文章标签: linux
个人分类: Linux基础
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭