day14-2019年3月19日
企业让面试者答笔试题的目的?
1、筛选不合格的
2、选合格的(笔试阶段表现出优秀)
3、给面试官第一次的好印象,先入为主
营销体验前置(幼鹅效应)
3w1h:
1、什么是正则表达式
作用和特殊字符一样
正则表达式是为处理大量的字符和文本而定义的一套规则和方法
2、提高效率,快速获取到想要的内容
3、适用于三剑客命令 grep(egrep) sed awk
普通命令只适合通配符,以行为单位,一次处理一行,可以化繁为简,提高效率
4、实践
特点:
①为处理大量文本及字符串而定义的一套规则和方案
②其工作时以行为单位进行,即一次处理一行
③通过正则表达式可以将复杂的处理任务化繁为简,提高操作linux的效率
④仅被三剑客(grep/egrep、sed、awk)命令支持,其它命令无法使用
以行为单位,一次处理一行,可以化繁为简,提高效率
ifconfig eth0 | sed -rn '2s#^.*inet (.*) net.*$#\1#gp'
ip addr | sed -rn 's#^.*inet (.*)/24 brd.*$#\1#gp'
只用grep来实现:
ifconfig eth0|egrep -o '([0-9]{1,3}\.){3}([0-9]{2,3})' |head -1
ip addr |egrep -o '([0-9]{1,3}\.){3}([0-9]{2,3})' |head -1
只用awk来实现:
ifconfig eth0 | awk -F 'NR==2 {print $2}'
ip addr| awk -F " |/24" 'NR==9 {print $6}'
[root@oldboy ~ ]# ifconfig eth0|sed -rn '2s#^.inet (.*) net.*$#\1#gp'
10.0.0.201
易混淆的事项
1、和通配符区别
2、和开发的正则是有区别的,开发正则一般是perl语言兼容正则表达式java python php
3、linux系统三剑客正则表达式
环境准备
export LC_ALL=C
分类:
1、BRE基本正则表达式
2、ERE扩展正则表达式
陈述性记忆:
学游泳的知识,命令及参数以及杂用
思维导读、画图形式、辅助记忆
程序性记忆
游泳要想学会,就实际练习。
命令和参数要记住,就要不断练习。
元字符,需要配合-P参数来使用
常用\b,\d
$NF最后一列
NF==2 第二行