Day15 课堂笔记

Sed  指定行删除

 sed  -I

正则是贪婪匹配模式,人性的贪婪的。

ip地址

[root@zhangxiangyu-58 /test]# ifconfig eth0|sed -n 2p|sed 's#^.*inet##g'|sed 's#netm.*$##g'

 10.0.0.201

要取一个目标,删除目标两边的

awk是命令行操作

三剑客:

 grep  过滤查找内容 

 Sed  取行,替换,删除,追加

 awk    取列

awk  [option]    ‘pattern{action}’  file

           参数          条件(动作)    文件名

参数 -F

Cut  按列切割

 -d 制定分隔符  -f指定哪列,多列用,号    也可以用-

-F

列:$1 第一列  $2 第二列

$0    整行

$NF  最后一列  $NF-1  倒数第二列

 [root@zhangxiangyu-58 ~]# awk -F ":" '{print $1,$2,$NF}' oldbouydu.txt

root x /bin/bash

bin x /sbin/nologin

daemon x /sbin/nologin

adm x /sbin/nologin

lp x /sbin/nologin

[root@zhangxiangyu-58 ~]# awk -F ":" '{print $1,$2,$(NF-1)}' oldbouydu.txt

root x /root

bin x /bin

daemon x /sbin

adm x /var/adm

lp x /var/spool/lpd

NR  行号

[root@zhangxiangyu-58 ~]# awk 'NR==2,NR==3' oldbouydu.txt

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

过滤出含有root的字符

[root@zhangxiangyu-58 ~]# awk '/root/' oldbouydu.txt

root:x:0:0:root:/root:/bin/bash

[root@zhangxiangyu-58 ~]# grep root oldbouydu.txt

root:x:0:0:root:/root:/bin/bash

[root@zhangxiangyu-58 ~]# awk /root/ oldbouydu.txt

root:x:0:0:root:/root:/bin/bash

[root@zhangxiangyu-58 ~]# awk "/root/" oldbouydu.txt

root:x:0:0:root:/root:/bin/bash

[^d]  非d  ^[^d]  以非d字符开头

[root@zhangxiangyu-58 ~]# awk '/^[^d]/' oldbouydu.txt

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

取IP地址

[root@zhangxiangyu-58 ~]# ifconfig eth0|awk 'NR==2{print $2}'

10.0.0.201

你可能感兴趣的:(Day15 课堂笔记)