第十一课预习笔记

 

第十一课预习内容(8.16)
9.1 正则介绍_grep上
9.2 grep中
9.3 grep下
9.4/9.5 sed
9.6/9.7 awk
扩展
把一个目录下,过滤所有*.php文档中含有eval的行
grep -r --include="*.php" 'eval' /data/
把这里面的所有练习题做一下
http://www.apelearn.com/study_v2/chapter14.html


正则 

显示行数

显示行号

 

不区分大小写

取反

遍历所有子目录

过滤指定行及其以下n行

过滤指定行及其上面n行 

 

过滤指定行及其上面和下面n行

过滤带0-9数字的内容

过滤出不带数字的内容

过滤以非注释内容

过滤非数字的内容

过滤非数字开头的行

[^0-9]里面代表非数字

^[0-9]代表数字开头

匹配r.o       .代表任意一个字符

过滤0到N个o的内容

匹配所有字符

过滤2个o

如果不想使用脱义字符,也可以写成

过滤出现两次oo

+号前的o有一个或多个,t结尾

问好前的o,有一个或多个

过滤root或login的内容

也可以不区分大小写进行过滤

sed

sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作

默认全部显示,指定行匹配两次。

也可以使用-n只显示匹配行

sed也支持. * + ,但是+要脱义,如果不想使用脱义符,需要加上-r

匹配两次o

匹配root或bus

只打印第2行

打印2到5行

打印25到最后的行

打印所有行

一条命令中,匹配两次

若两次匹配结果相同,那么显示两次

不区分大小写

在屏幕显示的时候删除指定行,不删除原文件的行

也可以直接将原文件中的行删除

在屏幕和原文件都删除user2的行

把root替换为toor,全局替换

将前10行ro+换成r , +要进行转义,所以要使用-r参数 

将第一行和最后一行进行替换  .*贪婪匹配,会一直匹配到最后一个冒号。小括号要使用-r

将/root替换为123

或者使用@作为分隔符

将所有字母删掉,相当于替换为空

在所有行前加入aaa:

awk

只打印第一段

 打印所有段

若不指定分隔符,默认以空格为分隔符进行打印

打印第一段、第三段和第四段

输出结果使用#分割

列出包含oo的所有行

只列出第一段包含oo的行

列出包含root的行的第一段、第三段和包含user的行的第一段、第三段、第四段

打印第三段的数字为0的所有段 

打印第三段的数字为0的第一段

打印第三段大于等于1000的所有段

如果1000加上双引号,那么输出结果不一样。加上双引号会被系统认定为字符串,而不是数字

打印第七段不是sbin/nologin的内容

打印第三段小于第四段的行

打印第三段等于第四段的行

打印第三段位于5和7之间的行

打印第三段大于1000或者第七段等于/sbin/nologin的行

打印第三段大于1000 或者第七段匹配/bash/的行

打印后以#分割

显示行号

显示段号

打印前10行

打印前10行并且第一行包含root或sync

打印段数为6段并且者第一行包含root或sync

打印行数和段数为数值的内容 $NR和$NF均为变量

把第一行赋值为root

结果中是以空格间隔的,我们也可以自己指定分隔符

求和第三段的和

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值