Day14课堂笔记

            Linux正则表达式与三剑客

企业让面试者答笔试题的目的?

1、筛选不合格的。

2、选合格的(笔试阶段表现出优秀)

3、给面试官第一次的好印象,先入为主。

营销体验前置(幼鹅效应)

一定不要错过这两个点,把面试官培养成幼鹅

a.投简历时候,b.面试邀约的时候

老男孩思想之如何答笔试题?

1、字要好,工整,给人感觉用心

2、尽量多答一些。3W1H,特别是问答题

3、一定要给出多种答案(不低于3种答案)

4、问答题能画图就不用文字

命令知识:程序性记忆,实际练习,不断的练习(实践)

一、正则表达式:

3W1H:

1、什么是正则表达式?

作用和特殊字符一样。(事先规定好一个字符代表什么)

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

假设"@"代表“I am" , "!" 代表“oldboy” ,

则执行echo “@!”的结果就是输出”I am oldboy“

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

a.  提高效率,快速获得想要的内容

3、在什么地方用?

a. 三剑客命令grep (egrep) ,sed, awk 

 以行为单位处理,其他普通命令无法使用

4、怎么用?

实践讲解。

易混淆的事项

1.和通配符区别

2.开发人员正则,一般是perl兼容正则表达式

3、Linux三剑客正则表达式*****


环境准备:

export LC_ALL=C  让正则表达是更准确


[root@lixin ~/test]#  ls -lF /data |grep "/$"

drwxr-xr-x. 2 root root 6 Mar 20 00:22 oldboy/


Day14课堂笔记_第1张图片


Day14课堂笔记_第2张图片


Day14课堂笔记_第3张图片


Day14课堂笔记_第4张图片

分类:

1.BRE  基本正则表达式  简单正则表达式   grep

2ERE  扩展正则表达式     egrep  grep -e

二、特殊语义中括号:


Day14课堂笔记_第5张图片

三、元字符表达式


Day14课堂笔记_第6张图片
 

四、Linux三剑客


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

选项:

-n 取消默认sed的输出

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

内置命令字符:

s 替换

g 全局  global

p 打印 print

d  删除 delete

显示2, 3行

[root@lixin ~/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.

[root@lixin ~/test]# sed -n '2,3p' oldgirl.txt

 I like badminton ball ,billiard ball and chinese chess!

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

删除‘oldboy’行

[root@lixin ~/test]# sed '/oldboy/d' oldgirl.txt

 I like badminton ball ,billiard ball and chinese chess!

 my qq num is 49000448.

替换:

sed    's#把谁#替换成谁#g'  oldgirl.txt  显示

sed   -i   's#把谁#替换成谁#g' oldgirl.txt   修改文件

sed -e 's#把谁#替换成谁#g' -e 's#把谁#替换成谁#g'   oldgirl.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.

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

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

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

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

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

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