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 列出上下两行,包含要求的过过滤行
9.2 grep中
一定要记得把要做实验的文件或者目录cp一份到另外的目录下,不能直接系统配置文件下改动,一面无法运行系统。
︿放在[ ]里面是取非得意思,放在外面是以什么开头的意思。
-v '︿[︿0-9] 解释,方括号内非数字开头,外面的-v是反义
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/