Day15老男孩Linux58期预习笔记

Day15


作者:孙鹏鹏

归档:预习笔记

时间:2019/3/20


快捷键:

Ctrl + 1    标题1

Ctrl + 2    标题2

Ctrl + 3    标题3

Ctrl + 4    标题4

Ctrl + 5    程序代码

Ctrl + 6    正文

Ctrl + 7    实例1-1

格式说明:

蓝色字体:注释

黄色背景:重要

绿色背景:注意

老男孩教育教学核心思想6重:重目标、重思路、重方法、重实践、重习惯、重总结

学无止境,老男孩教育成就你人生的起点!

联系方式:

网站运维QQ交流群:

Linux 385168604架构师390642196

Python 29215534大数据421358633

官方网站:

http://www.oldboyedu.com 

目  录

第一章:









第一章:

1.1课后练习:

环境准备:

[root@oldboy-58 ~/test]# cat oldboy.txt

张三:男:80:100:29:11

李四:女:70:77:55:99

王五:男:90:909:98:56:99

赵六:女:100:99:99:009:76:kj


问题1:取oldboy.txt文件的第2行到第3行的内容。

1.

[root@oldboy-58 ~/test]# awk 'NR==2,NR==3'

oldboy.txt

李四:女:70:77:55:99

王五:男:90:909:98:56:99

2.

[root@oldboy-58 ~/test]# sed -n '2,3p'

oldboy.txt

李四:女:70:77:55:99

王五:男:90:909:98:56:99


问题2:过滤出含有10字符串的行※。

1.

[root@oldboy-58 ~/test]# sed -n '/10/p'

oldboy.txt

张三:男:80:100:29:11

赵六:女:100:99:99:009:76:kj


2.

[root@oldboy-58 ~/test]# awk '/10/'

oldboy.txt

张三:男:80:100:29:11

赵六:女:100:99:99:009:76:kj


问题3:删除含有"李"字符串的行※。

1.

[root@oldboy-58 ~/test]# sed '/李/d' oldboy.txt

张三:男:80:100:29:11

王五:男:90:909:98:56:99

赵六:女:100:99:99:009:76:kj


2.

[root@oldboy-58 ~/test]# awk '/^[^李]/' oldboy.txt

张三:男:80:100:29:11

王五:男:90:909:98:56:99

赵六:女:100:99:99:009:76:kj


问题4:取文件的第一列、第三列和最后一列内容,并打印行号※。


[root@oldboy-58 ~/test]# awk -F

":" '{print NR,$1,$3,$NF}' oldboy.txt

1 张三 80 11

2 李四 70 99

3 王五 90 99

4 赵六 100 kj


问题5:取出Linux中执行ifconfig eth0后对应的IP地址(只能输出IP地址)。


[root@oldboy-58 ~/test]# awk -F

":" '$1~/李/ {print $NF}' oldboy.txt

99


[root@oldboy-58 ~]# ifconfig eth0|awk

'NR==2{print $2}'

10.0.0.201

问题6:过滤文件中第一列内容匹配’李‘的字符串,把符合的行的最后一列输出


[root@oldboy-58 ~/test]# awk -F

":" '$1~/李/ {print $NF}' oldboy.txt

99


问题7:过滤下列oldboy.txt文件中第三列内容分数大于70,并且小于100的人名和性别。


[root@oldboy-58 ~/test]# awk -F

":" '$3>75&&$3<95{print $1,$2}' oldboy.txt

张三 男

王五 男

1.2三剑客练习题:

1.在当前系统中打印出所有普通用户的用户名和家目录(/etc/passwd)


[root@oldboy-58 ~]# cat /etc/passwd|awk -F

":" '$3>=1000{print $1,$(NF-1)}'

sunpengpeng /home/sunpengpeng

oldboy /home/oldboy


2.显示当前系统中容量使用率大于5%的文件系统名称和挂载点


[root@oldboy-58 ~]# df -h|awk -F "[%

]+" 'NR>1&&$5>5{print $1,$NF}'

/dev/sda3 /

/dev/sda1 /boot


3.为/tmp/grub.conf文件中前三行的行首加#号


[root@oldboy-58 /tmp]# awk

'NR>0&&NR<4{print"#"$0}' grub

#GRUB_TIMEOUT=5

#GRUB_DISTRIBUTOR="$(sed 's, release

.*$,,g' /etc/system-release)"

#GRUB_DEFAULT=saved


4.通过notepad++打开,把一下内容输入到test.txt文件中

姓名                    区号  电话    三个月捐款数量

Mike Harrington:[510] 548-1278:250:100:175


Christian Dobbins:[408] 538-2358:155:90:201

Susan Dalsass:[206] 654-6279:250:60:50


Archie McNichol:[206] 548-1348:250:100:175

Jody Savage:[206] 548-1278:15:188:150


Guy Quigley:[916] 343-6410:250:100:175

Dan Savage:[406] 298-7744:450:300:275

Nancy McNeil:[206] 548-1278:250:80:75


John Goldenrod:[916] 348-4278:250:100:175


Chet Main:[510] 548-5258:50:95:135


Tom Savage:[408] 926-3456:250:168:200

Elizabeth Stachelin:[916]

440-1763:175:75:300


(1)显示所有电话号码

[root@oldboy-58 ~]# awk -F "[

:]+" '{print $4}' oldboy

548-1278


538-2358

654-6279


(2)显示Dan的电话号码

[root@oldboy-58 ~]# awk -F "[

:]+" '$1~/Dan/{print $4}' oldboy

298-7744


(3)显示Susan的名字和电话号码

[root@oldboy-58 ~]# awk -F "[

:]+" '$1~/Susan/{print $4,$1}' oldboy

654-6279 Susan


(4)显示所有以D开头的姓

[root@oldboy-58 ~]# awk -F "[

:]+" '$2~/D/{print $2}' oldboy

Dobbins

Dalsass


(5)显示所有区号为916的人名

[root@oldboy-58 ~]# awk -F "[

:]+" '$3~/\[916\]/{print $1,$2,$3}' oldboy

Guy Quigley [916]

John Goldenrod [916]

Elizabeth Stachelin [916]

你可能感兴趣的:(Day15老男孩Linux58期预习笔记)