3.19 课堂笔记

正则表达式与三剑客

目录

一.正则表达式 1

1、定义 1

2.作用 1

3、适用于三剑客命令 grep(egrep),sed,awk 1

5.环境准备: 1

6.分类: 1

1、BRE  grep 1

2、ERE  egrep 1

第一个括号第二个括号 2

二.Linux三剑客 2

1.sed定义 2

2.sed [选项]  [sed内置命令字符]  [文件] 2

3.sed的内置命令字符说明 2

4.例题. 2


一.正则表达式

1、定义

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


2.作用

作用和特殊字符一样。

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


3、适用于三剑客命令 grep(egrep),sed,awk

以行为单位处理。


4易混淆事项

(1)和通配符区别。

(2)开发人员正则,一般是Perl兼容正则表达式。

(3)Linux系统三剑客正则表达式


5.环境准备:

export LC_ALL=C


6.分类:

1、BRE  grep

2、ERE  egrep


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

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

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

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



(0)===\1

(0)(0)    \1             \2

第一个括号第二个括号


egrep -o "(e)(s)\1\2" oldboy.txt ===== egrep -o "eses" oldboy.txt


二.Linux三剑客

awk  sed  grep


1.sed定义

Sed是操作、过滤和转换文本内容的强大工具。

常用功能有对文件实现快速增删改查(增加、删除、修改、查询),

其中查询的功能中最常用的2大功能是过滤(过滤指定字符串)和取行(取出指定行


)。


2.sed [选项]  [sed内置命令字符]  [文件]


选项:

-n 取消默认sed的输出,常与sed内置命令的p连用※

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


如果不使用-i选项sed只是修改在内存中的数据,并不会影响磁盘上的文件※


3.sed的内置命令字符说明

s替换

g全局global

p打印print

d删除delete


4.例题.

环境

[root@oldboyedu ~/test]# cat oldgirl.txt

I am oldboy teacher!

I like badminton ball ,billiard ball and chinese chess!

our site is http://www.oldboyedu.com

my qq num is 49000448.


问题1:输出oldboy.txt的第2-3行内容※。

sed -n '2,3p' oldgirl.txt


问题2:过滤出含有oldboy字符串的行※。

sed -n '/oldboy/p' oldgirl.txt


问题3:删除含有oldboy字符串的行※。

sed '/oldboy/d' oldgirl.txt

sed /oldboy/d oldgirl.txt


问题4:将文件中的oldboy字符串全部替换为oldgirl※。

vim替换:

:%s#oldboy#oldgirl#g

sed 's#想替换啥#用啥替换#g' oldgirl.txt


sed 's#oldboy#oldgirl#g' oldgirl.txt

修改文件:

sed -i 's#oldboy#oldgirl#g' oldgirl.txt


问题5:将文件中的oldboy字符串全部替换为oldgirl,同时将QQ号码49000448改为


31333741。

sed -e 's#oldboy#oldgirl#g' -e 's#49000448#31333741#g' oldgirl.txt I

你可能感兴趣的:(3.19 课堂笔记)