shell编程之正则表达式

  正则表达式主要是用于描述字符排列和匹配模式的一中语法规则。它主要用于字符串的模式分割、匹配、查找及替换,最主要的目的就是用于匹配。

  通配符:

  *  - 匹配任意内容

  ? - 匹配任意一个字符

  [] - 匹配括号内的内容

  正则表达式用来在文件中匹配符合条件的字符串,是包含匹配。

  通配符用来匹配符合条件的文件名,是完全匹配。

  grep、awk、sed等命令可以支持正则表达式。

  ls、find、cp等命令不支持正则表达式,因此只能使用shell自己的通配符来进行匹配。

  一般匹配形式列举如下:

* 前一个字符匹配0次或任意多次
. 匹配除了换行符外任意一个字符
^ 匹配行首
$ 匹配行尾
[] 匹配中括号中任意一个字符,即只要有一个字符满足就可以列出
[^] 匹配除中括号的字符以外的任意一个字符
\ 转义符
\{n\} 表示其前面出现的字符恰好出现n次,最好在前后加上限定字符,否则很难准确匹配。
\{n,\} 表示其前面出现的字符出现不小于n次,实际上上一个匹配形式跟这个几乎是一样的
\{n,m\} 表示其前面出现的字符不少于n次,不多于m次。
   

  正则表达式在初学一门语言的时候都会比较麻烦,所以多上手操作才能比较好的熟悉。

时间: 2024-12-20 20:06:10

shell编程之正则表达式的相关文章

05 shell编程之正则表达式

正则表达式&&文本处理利器 学习目标: l  掌握正则表达式的运用 l  掌握sed.awk文本处理工具的使用 目录结构:   正则表达式 正则表达式概述 l  正则表达式:使用单个字符串来描述,匹配一系列符合某个句法规则的字符串 l  由普通字符与特殊字符组成 l  一般用在脚本编程,文本编辑器中,如php.Python.shell等,简写为regex.regexp.RE l  用来检索.替换符合模式的文本,具有强大的文本匹配功能 l  能够在文本海洋中快速高效地处理文本 l  正则表达

Shell编程之正则表达式(二)

文本处理器 在 Linux/UNIX 系统中包含很多种文本处理器或文本编辑器,其中包括我们之前学习过的VIM 编辑器与 grep 等.而 grep.sed.awk 更是 shell 编程中经常用到的文本处理工具,被称之为 Shell 编程三剑客. sed 工具 sed(Stream EDitor)是一个强大而简单的文本解析转换工具,可以读取文本,并根据指定的条件对文本内容进行编辑(删除.替换.添加.移动等),最后输出所有行或者仅输出处理的某些行.sed 也可以在无交互的情况下实现相复杂的文本处理

shell编程之正则表达式(一)基础正则表达式

正则表达式之前学习了 Shell 脚本的基础用法,已经可以利用条件判断.循环等语句编辑 Shell 脚本.接下来我们将开始介绍一个很重要的概念--正则表达式(RegularExpression,RE).正则表达式的定义正则表达式又称正规表达式.常规表达式.在代码中常简写为 regex.regexp 或 RE.正则表达式是使用单个字符串来描述.匹配一系列符合某个句法规则的字符串,简单来说, 是一种匹配字符串的方法,通过一些特殊符号,实现快速查找.删除.替换某个特定字符串.正则表达式是由普通字符与元

Linux学习8之Shell编程--基础正则表达式

1. 正则表达式与通配符 正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配的.grep.awk.sed等命令可以支持正则表达式. 通配符是用来匹配符合条件的文件名,通配符是完全匹配的.ls.find.cp等这些命令不支持正则表达式,所有只能使用Shell自己的通配符来进行匹配. 2. 基础正则表达式 原文地址:https://www.cnblogs.com/anchun7080/p/10311257.html

shell编程之正则表达式(二)sed工具

sed 工具 sed(Stream EDitor)是一个强大而简单的文本解析转换工具,可以读取文本,并根据指定的条件对文本内容进行编辑(删除.替换.添加.移动等),最后输出所有行或者仅输出处理的某些行.sed 也可以在无交互的情况下实现相当复杂的文本处理操作,被广泛应用于 Shell 脚本中,用以完成各种自动化处理任务.sed 的工作流程主要包括读取.执行和显示三个过程. 读取:sed 从输入流(文件.管道.标准输入)中读取一行内容并存储到临时的缓 冲区中(又称模式空间,pattern spac

Shell编程之---正则表达式详解

正则表达式详解 普通字符:只是字面的意思 元字符:超过字面意思的意义 基本正则表达式元字符及其意义 * #0个或多个在*字符之前的那个普通字符 .               #匹配任意字符 ^         #匹配行首 $         #匹配行尾 $$ #执行上一条命令 !$ #上一条命令的最后一个参数,例如是/etc/passwd,继续对该参数操作,可以为 cat !$ []        #匹配字符集合 \          #转义符 \{n\}      #匹配前面字符出现n次 \

linux shell编程之正则表达式

正则表达式和通配符区别: 通配符也就三个*.?.[] 正则表达式是在文件中进行查找.

Shell编程之正则表达式三剑客——grep,egrep

正则表达式概述 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑. 基础正则表达式 正则表达式的字符串表达方法根据不同的严谨程度与功能分为基本正则表达式与扩展正则表达式.基础正则表达式是常用的正则表达式的最基础的部分.在 Linux 系统中常见的文件处理工具中 grep 与 sed 支持基础正则表达式,而 egrep 与 awk 支持扩展正则表达式.

Shell编程之正则表达式三剑客——sed工具

sed工具概述 擅长对数据行进行处理,sed是一种流编辑器,处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有改变,除非你使用重定向存储输出.利用sed命令可以将数据行进行替换.删除.新增.选取等特定工作. sed命令常见用法 sed [选项] '操作' 参数 sed [选项] -f scriptfile 参数 常见的