美文网首页
shell系列6-通配符和正则表达式

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

作者: 只是甲 | 来源:发表于2022-04-14 12:12 被阅读0次

    一. 通配符

    通配符是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

    2.2 特殊匹配模式

    image.png

    2.3 正则表达式扩展

    image.png

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

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

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

    参考:

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

    相关文章

      网友评论

          本文标题:shell系列6-通配符和正则表达式

          本文链接:https://www.haomeiwen.com/subject/qtrcjrtx.html