2019-03-19课堂笔记

第1章 Linux正则表达式与三剑客知识应用实践

1.1 正则表达式介绍

1.1.1 什么是正则表达式?

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

1.1.2 Linux三剑客正则表达式特点:

1、 为处理大量文本及字符串而定义的一套规则与方法。
2、 其工作时以行为单位进行,即一次处理一行。
3、 通过正则表达式可以将复杂的处理任务化繁为简,提高操作Linux的效率。
4、 仅被三剑客(grep/egrep、sed、awk)命令支持,其他命令无法使用。

1.2 正则表达式的分类

正则表达式分为基本正则表达式(BRE)和扩展正则表达式(ERE)两类。

1.2.1 基本正则表达式(BRE)集合

image.png

1.2.2 扩展正则表达式(ERE)集合

image.png

1.3 预定义特殊中括号表达式

image.png

1.4 元字符表达式

image.png

1.5 sed:流编辑器(Linux三剑客之一)

Sed是操作、过滤和转换文本内容的强大工具。
常用功能有对文件实现快速增删改查(增加、删除、修改、查询),
其中查询的功能中最常用的2大功能是过滤(过滤指定字符串)和取行(取出指定行)。

1.5.1 命令语法:

image.png

1.5.2 参数

image.png

1.5.3 sed内置命令字符

image.png

1.5.4 sed命令实践

环境准备:创建一个文本文件“oldboy.txt”,并输入以下内容。
[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.
not 4900000448.
my god ,i am not oldbey,but OLDBOY!
问题1:输出oldboy.txt的第2-3行内容※。
答:sed -n '2,3p' oldboy.txt
问题2:过滤出含有oldboy字符串的行※。
答:sed -n '/oldboy/p' oldboy.txt
问题3:删除含有oldboy字符串的行※。
答:sed '/oldboy/d' oldboy.txt
问题4:将文件中的oldboy字符串全部替换为oldgirl※。
答:sed 's#oldboy#oldgirl#g' oldboy.txt
问题5:将文件中的oldboy字符串全部替换为oldgirl,同时将QQ号码49000448改为31333741。
答:sed -e 's#oldboy#oldgirl#g' -e 's#49000448#31333741#g' oldboy.txt

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容