关于'sed|awk|cut|sort|uniq'方面的试题

试题

access.log日志内容:

192.168.11.1 - - [15/Apr/2020:18:26:38 +0800] 200 
192.168.11.2 - - [15/Apr/2020:18:26:38 +0800] 200 
192.168.11.3 - - [16/Apr/2020:18:26:38 +0800] 200 
192.168.11.4 - - [16/Apr/2020:18:26:38 +0800] 200 
192.168.11.1 - - [16/Apr/2020:18:26:38 +0800] 302 
192.168.11.1 - - [18/Apr/2020:18:26:38 +0800] 200 
192.168.11.1 - - [18/Apr/2020:18:26:39 +0800] 200 
192.168.11.1 - - [20/Apr/2020:18:26:42 +0800] 302 
192.168.11.4 - - [20/Apr/2020:18:27:07 +0800] 404 
192.168.11.1 - - [20/Apr/2020:18:29:45 +0800] 302 
192.168.11.4 - - [18/Apr/2020:18:29:45 +0800] 404 
192.168.11.1 - - [15/Apr/2020:18:29:45 +0800] 200 
192.168.11.1 - - [15/Apr/2020:18:29:45 +0800] 302 
192.168.11.1 - - [15/Apr/2020:18:29:45 +0800] 404 
192.168.11.4 - - [15/Apr/2020:18:29:45 +0800] 302 
192.168.11.1 - - [15/Apr/2020:18:29:45 +0800] 200 

/etc/passwd内容:

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
nginx:x:1001:1001::/home/nginx:/bin/bash

ip命令结果内容(ip addr show):

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:70:ee:0c brd ff:ff:ff:ff:ff:ff
    inet 192.168.11.140/24 brd 192.168.11.255 scope global eno16777736
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe70:ee0c/64 scope link 
       valid_lft forever preferred_lft forever

test.log内容:

#this is a test log
#time

line 1
line 2
  1. 统计/etc/passwd中shell的类型和其数量(只使用awk命令)

  2. 统计/etc/passwd用户名为4个字符的用户(只使用awk命令)

  3. 打印/etc/passwd的用户名和uid(只使用awk命令)

  4. 打印/etc/passwd文件中所有内容,并包括行号(只使用awk命令)

  5. 打印/etc/passwd文件中UID大于100的行(只使用awk命令)

  6. 打印/etc/passwd文件中UID大于50且小于500的行,行信息中只有用户名和UID

  7. 统计access.log日志中“15/Apr/2020”当天的页面访问量(使用grep wc)

  8. 统计access.log日志中ip数量并降序排序(使用 awk sort uniq)

  9. 统计access.log日志中状态码为404的ip,并去重(使用 awk sort uniq)

  10. 统计access.log日志中状态码为200或302的ip,并去重(使用 awk sort uniq)

  11. 打印ip命令中ipv4地址(使用sed)

  12. 使用sed删除/etc/passwd中以root或bin开头的行,不修改源文件

  13. 使用sed删除test.log日志中的空白行,不修改源文件

  14. 使用sed删除test.log日志中的第3到最后一行,不修改源文件

  15. 使用sed将test.log文件中以#开头行中的#替换为空,不修改源文件

  16. 使用sed将test.log文件中line 1修改为line 5,修改源文件

  17. 使用sed显示test.log文件中第2至最后一行

  18. 使用sed在test.log文件中第2行后添加一行新内容”add newline”

  19. 使用sed将test.log文件中所有的单词替换为单词

  20. 使用sed删除test.log文件中以#开头和空白的行

  21. 使用sed删除/etc/passwd中以root开头的行

  22. 使用sed 将/ets/fstab文件中以UUID开头的行内容写入到/root/test.log文件中

  23. 使用sed将/etc/issue文件中的内容写入到/etc/fstab文件中以UUID开头行的后面

  24. 使用sed将test.log文件中所有小写字母转换为大写字母

  25. 使用sed将/etc/fstab文件中不以#开头的行添加#

原文地址:https://www.cnblogs.com/wanwz/p/12860254.html