8.21第十三课课堂笔记

sed与grep比较,sed能实现grep功能,但是比较麻烦,而且没有颜色显示;sed优势在于替换一些指定的字符。

用sed实现grep匹配的功能,匹配关键词用//,-n作用是只显示我们要打印的行

 sed -n '1,$'p passwd.bak,全部打印出来

sed -e用法,在一行里执行多条命令

sed -e '1'p -e '/root/'p -n passwd.bak,先打印第一行,然后再匹配含有root的行

sed -e '1'p -e '/root/'p -e '/oo*/'p -n passwd.bak ,执行多条命令

sed -n '/bus/'Ip passwd.bak,匹配不区分大小写

sed删除指定的行

sed '1,20'd passwd.bak,删除打印出来的1-20行,实际上并没有删掉文件内容

sed -r 's/([^:]+):(.*):([^:]+)/\3:\2:\1/' passwd.bak |head,替换每行第一段和最后一段字符串的位置,以冒号为参考对象,小括号里的内容用\1、\2、\3表示

sed 's/\/root/123/g' passwd.bak |head,将/root替换成123,要用脱义符号\

sed -r 's/(.*)/aaa:&/' ,在所有行前面加上固定字符串,&表示前面小括号内的内容

awk兼具sed的所有功能,而且还支持分段

-F作用是指定分隔符

打印文件的全部内容awk  '{print $0}' 1.txt,不需要加F

awk如果不指定分隔符,则默认空格或空白为分隔符

打印多段内容awk -F ':' '{print $1,$2,$4}' 1.txt

打印内容可以指定#来分割,需要用到双引号

wk -F ':' '$1 ~ /o+/' test.txt ,匹配第一段中包含o的行,支持正则表达式;这里需要知道,出现特殊符号时,awk不用加脱义字符,grep和sed则必须要加脱义字符

awk -F ':' '$3==0' 1.txt ,匹配第3段等于0的;

awk -F ':' '$3==0 {print $1}' 1.txt //匹配第3段等于0的,并打印第1段;

awk -F ':' '$3>=1000' 1.txt //匹配第3段大于等于1000的,并打印所有段

awk -F ':' '$7!="/sbin/nologin" {print $0}' 1.txt ,匹配出第7段不是/sbin/nologin的所有段,!=表示不匹配

常用的变量有OFS、NF和NR,OFS与-F选项有类似的功能,用来定义分隔符,但是在输出时定义

架构师要求比较高,知识面要广。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值