2018-10-16

10月16日任务

9.1 正则介绍_grep上

正则就是一串有规律的字符串,包含. # & 等各种各样的符号


主要是学习正则规律

shell php python ngix配置文件里面的正则

编程语言的必须的

四个工具,实际上是三个,称为三剑客,小型的举例要每个弄清楚。

grep/egrep,egrep是grep的扩展,包含所有的grep

grep [-cinvrABC] 'word' filename


grep只是实现正则的一个工具而已

grep'[0-9]' /etc/finename表示从0-9 所有的范围,里面有一个任意数字,只要带数字的行,都可以过滤出来。

grep -vn '[0-9]' /etc/finename 将带数字的行排除掉

:set nu 显示行号

grep -v '︿ #'  把不以# 号得行打印出来


seed 


awk



grep是用于过滤关键词的命令

grep


首先mkdir grep 创建目录

cd grep/

cp /etc/passwd .拷贝到grep目录来

ls 

passwd

pwd

/root/grep

ls

passwd

将passwd作为样本文件

grep 'nologin' grep

centos7中自带color标记颜色选项

which grep 

实际上有--color=auto


grep -c 'nologin' grep 多少行

         -n 行号

grep -i ‘nologin' grep 区分大小写


首先将原来的grep修改下 有一个Nologin


-v 取反作用

-r 子目录 孙目录所有文件都遍历一次

grep -r 'root' /etc/ 不加r的话 就是一个文件不是目录了



grep -A2 'root' passwd

列出的包含关键词的行,以及以下指定的数字行

-B 列出上两行,包含要求的过滤行

-C 列出上下两行,包含要求的过过滤行



2018-10-16_第1张图片

9.2 grep中

一定要记得把要做实验的文件或者目录cp一份到另外的目录下,不能直接系统配置文件下改动,一面无法运行系统。

︿放在[   ]里面是取非得意思,放在外面是以什么开头的意思。

-v '︿[︿0-9] 解释,方括号内非数字开头,外面的-v是反义

2018-10-16_第2张图片


9.3 grep下

r.o的意思是 里面的.代表的是任何一个字符

'o*o'代表的是*号表示其左边重复0-n次,一定是和哦有关的

grep '.*' 表示任意一个任意字符都可以匹配

grep '{2}' passwd 花括号 是没有任何意义的

grep 'o{2}' passwd  要表示的出现o两次

但是实际上要grep 'o\{2\}' passwd 使用脱义符号

但是直接可以使用egrep 'o{2}' passwd 减少脱义符号的使用



grep 'o\+o' passwd 代表


grep 'o?t' passwd代表?前面的存在字符是一个活这个0个

竖线表示或者的意思

grep -E 'root|nologin' passwd

. 任意一个

*

。* 所有的都匹配,任意一个 或多个

{}范围

+ 一个多个前面+多个字符


和*号区别在于,+加好没有0,*号从0开始





扩展

把一个目录下,过滤所有*.php文档中含有eval的行

grep -r --include="*.php" 'eval' /data/ 

你可能感兴趣的:(2018-10-16)