美文网首页
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中的匹配

    shell支持的通配符shell支持一组通配符用于处理数据,但是要和正则表达式区别开来。shell的通配符实现的功...

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

    一. 通配符 通配符是shell在做PathnameExpansion时用到的。说白了一般只用于文件名匹配,它是由...

  • 通配符 和 正则表达式 关系

    1 概述 通配符和正则表达式经常会引起混乱,本文两者之间的区别进行比较。 通配符用于匹配文件名,shell在做Pa...

  • shell通配符

    shell通配符与正则表达式相似但不相同下面是常用的通配符,亲测有效(尊重原创 - 图片来源): 下面是ls sy...

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

    通配符和正则表达式比较 (1)通配符和正则表达式看起来有点像,不能混淆。可以简单的理解为通配符只有*,?,[],{...

  • shell中的正则表达式和通配符

    shell中的正则表达式和通配符 正则表达式 正则表达式包含以下一个或多个组成部分 字符集:一组字符 锚:表领了正...

  • python3从零学习-5.4.8、fnmatch — Unix

    源代码:Lib/fnmatch.py 此模块提供了 Unix shell 风格的通配符,它们并不等同于正则表达式(...

  • 01_SHELL编程前奏_小工具

    本节课程目标 了解shell中的通配符 熟悉grep、cut、sort等小工具和shell中的通配符的使用 一、文...

  • Linux程序设计(第4版)

    1、UNIX、Linux和GNU简介 2、shell程序设计 shell的通配符,*,?,[],[^],{},其中...

  • glob简介

    首次发表在个人博客 前言 glob是shell使用的路径通配符,类似于正则表达式,但是与正则表达式不完全相同,在l...

网友评论

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

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