shell系列6-通配符和正则表达式

一. 通配符

通配符是shell在做PathnameExpansion时用到的。说白了一般只用于文件名匹配,它是由shell解析的,比如find,ls,cp,mv等。

1.1 Shell常见通配符

image.png

1.2 shell Meta字符(元字符)

shell 除了有通配符之外,还有一系列自己的其他特殊字符。
image.png

1.3 转义字符

有时候,我们想让 通配符,或者元字符 变成普通字符,不需要使用它。那么这里我们就需要用到转义符了。 shell提供转义符有三种。
image.png

二. 正则表达式

正则表达式是用来匹配字符串的,针对文件内容的文本过滤工具里,大都用到正则表达式,如vi,grep,awk,sed等。

另外,这篇文章只针对Linux下的文本过滤工具的正则表达式进行讨论,其他的一些编程语言,如C++(c regex,c++ regex,boost regex),java,python等都有自己的正则表达式库。

简单点来说,正则表达式是对一组正在处理的文本的描述。

2.1 匹配位置和范围及次数

image.png

使用:
image.png
image.png

扫描二维码关注公众号,回复: 13983169 查看本文章

2.2 特殊匹配模式

image.png

2.3 正则表达式扩展

image.png

三. 通配符和正则表达式比较

通配符和正则表达式看起来有点像,不能混淆。可以简单的理解为通配符只有*,?,[],{}这4种,而正则表达式复杂多了。

*在通配符和正则表达式中有其不一样的地方,在通配符中可以匹配任意的0个或多个字符,而在正则表达式中他是重复之前的一个或者多个字符,不能独立使用的。比如通配符可以用来匹配任意字符,而正则表达式不行,他只匹配任意长度的前面的字符。

参考:

  1. https://blog.csdn.net/youmatterhsp/article/details/80528761

猜你喜欢

转载自blog.csdn.net/u010520724/article/details/124168771
今日推荐