sed练习题
(1)把/etc/passwd复制到/root/12.txt,用sed打印所有行
(截取了一部分)(2)打印12.txt的第2行~第7行
(3)打印12.txt中包含root的行
(4)删掉12.txt的第11行以及后面的所有行
(5)删掉12.txt中包含bash的行
(截取了一部分)(6)将12.txt中的root替换成toor
这里s应该写在单引号里面(截取了一部分)(7)将12.txt中的/sbin/nologin替换为/bin/login
(截取了一部分)(8)删除12.txt中第3行~第6行中所有数字
(9)删除12.txt中所有的特殊字符(除了数字以及大小写字母)
(截取了一部分)(10)在12.txt中第2行~第5行最前面加aaa
awk练习题
(1)用awk打印整个12.txt
(截取了一部分)(2)查找所有包含bash的行
(3)用 : 作为分隔符,查找第3个字段等于0的行
(4)用 : 作为分隔符,查找第1个字段为root的行,并把该段的root换成toor(可以连同sed一起用)
(5)用 : 作为分隔符,打印最后一个字段
(截取了一部分)(6)打印行数大于20的所有行
(7)用 : 作为分隔符,打印所有第3个字段小于第4个字段的行
(8)用 : 作为分隔符,打印第1个字段以及最后一个字段,并且中间用@连接
例如root@/bin/bash(截取了一部分)(9)用 : 作为分隔符,把整个文档的第4个字段相加,求和
综合练习
(1)如何把文档用户uid大于500的行打印出来?
(2)用grep把文档中包含abc或123的行过滤出来,并在过滤出来的行前面加上行号
(3)命令 grep -v '^$' /tmp/10/1.txt 会过滤出哪些行?
会过滤掉空行
(4)sed有一个选项可以直接更改文本文件,是哪个选项?
-i 选项
(5)如何删除一个文档中的所有数字或者字母?
# sed ‘s/[0-9]//g’ test.txt //删除数字
# sed ‘s/[a-zA-Z]//g’ test.txt //删除字母