2019-03-19Day14 课后笔记 正则表达式与sed命令

正则表达式:

1、 什么是正则表达式?(作用和特殊字符一样)

正则表达式是为处理大量的字符串及文本而定义的一套规则和方法。

2、为什么要用正则表达式?

提高效率,快速获取到想要的内容

3、 在哪使用?

三剑客命令grep(egrep)、sed、awk(以行为单位处理)

4、怎样使用?


5、Linux三剑客的正则表达式的特点

a:为处理大量文本及字符串而定义的一套规则和方法

b:工作时以行为单位进行,即一次处理一行

c:通过正则表达式可以将复杂的处理任务化繁为简,提高操作Linux的效率

d:仅被三剑客(grep/egrep、sed、awk)命令支持,其他命令无法使用

6、易混淆事项 

a:应用正则表达式的就是Linux三剑客,普通命令正常情况下无法使用正则表达式

b:正则表达式在Linux中是通过三剑客命令在文件(或数据流)中过滤内容的;通配符是大部分普通命令都支持的,它是用来查找文件或目录的

7、环境准备

1)、调整字符集(export LC_ALL=C)

2)、

2019-03-19Day14 课后笔记 正则表达式与sed命令_第1张图片

8、 正则表达式的分类:

a:基本正则表达式(BRE,basic regular expression)——使用命令grep

b:扩展正则表达式(ERE,extended regular expression)——使用命令egrep/grep-E

Linux正则表达式

1、基本正则

1):^尖角号  以……开头  ^oldboy    以oldboy开头

2019-03-19Day14 课后笔记 正则表达式与sed命令_第2张图片

2):$美元符    以……结尾   oldboy $    以oldboy结尾

2019-03-19Day14 课后笔记 正则表达式与sed命令_第3张图片

3):^$   空行

2019-03-19Day14 课后笔记 正则表达式与sed命令_第4张图片

4):  .    匹配任意一个切只有一个字符,和通配符?一样

2019-03-19Day14 课后笔记 正则表达式与sed命令_第5张图片

5):\   让有意思的字符脱掉马甲 还原本义

2019-03-19Day14 课后笔记 正则表达式与sed命令_第6张图片

6):*   重复前面字符0次或多次

2019-03-19Day14 课后笔记 正则表达式与sed命令_第7张图片

7):.*   表示所有

2019-03-19Day14 课后笔记 正则表达式与sed命令_第8张图片

8):      ^.*     组合符,匹配以任意多个字符开头的内容

2019-03-19Day14 课后笔记 正则表达式与sed命令_第9张图片

9):.*$     以任意0个或多个字符结尾

2019-03-19Day14 课后笔记 正则表达式与sed命令_第10张图片

10):[abc]匹配[ ]集合内的任意一个字符a或b或c,[abc]相当于[a-c]

2019-03-19Day14 课后笔记 正则表达式与sed命令_第11张图片

11):[^abc]匹配不包含^后的任意字符a或b或c

2019-03-19Day14 课后笔记 正则表达式与sed命令_第12张图片

2、扩展正则

1):+   匹配前一个字符一次或一次以上

2019-03-19Day14 课后笔记 正则表达式与sed命令_第13张图片

2):[:/]+   匹配括号内:或/字符 一次或一次以上

3):?  匹配前一个字符0次或1次

2019-03-19Day14 课后笔记 正则表达式与sed命令_第14张图片

4):|   或者 同时过滤多个字符串

2019-03-19Day14 课后笔记 正则表达式与sed命令_第15张图片

5):a{n,m}  匹配前一个字符最少n次,最多m次

6):a{n,}   匹配前一个字符最少n次

7):a{n}  匹配前一个字符正好n次

8):a{,m} 匹配前一个字符最多m次

2019-03-19Day14 课后笔记 正则表达式与sed命令_第16张图片

9):()分组过滤杯括起来的东西表示一个整体

2019-03-19Day14 课后笔记 正则表达式与sed命令_第17张图片

10):\n 引用前面括号里的内容

3、特殊中括号

4、元字符表达式

1):\b  匹配单词边界(类似grep -w)*****

2019-03-19Day14 课后笔记 正则表达式与sed命令_第18张图片

2):\d 匹配单个数字字符(需用grep -P)


2019-03-19Day14 课后笔记 正则表达式与sed命令_第19张图片

sed命令

1、sed简称为流编辑器

2、sed是用来操作、过滤和转换文本的工具。

3、语法格式

sed   [选项]    [sed内置命令字符]    [输入文件]

3、参数

-n 取消命令的默认输出

2019-03-19Day14 课后笔记 正则表达式与sed命令_第20张图片

-i 直接修改文件内容,而不是输出到终端


2019-03-19Day14 课后笔记 正则表达式与sed命令_第21张图片

4、内置命令字符说明

 s    替换

2019-03-19Day14 课后笔记 正则表达式与sed命令_第22张图片

g       全局    global

2019-03-19Day14 课后笔记 正则表达式与sed命令_第23张图片

p 打印print

d 删除delete

2019-03-19Day14 课后笔记 正则表达式与sed命令_第24张图片


2019-03-19Day14 课后笔记 正则表达式与sed命令_第25张图片

你可能感兴趣的:(2019-03-19Day14 课后笔记 正则表达式与sed命令)