• 关于'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文件中不以#开头的行添加#

  • 相关阅读:
    HappyLeetcode50:Rotate Array
    【python,排序】几种常用的排序算法,使用python实现
    【python,logging】python中的logging模块
    【Python Lib】解析HTML利器 BeautifulSoup
    CSS 创建方式与优先级
    Python 正则表达式
    Python文件IO
    Python Thread
    Python 2.x and 3.x String VS Bytes
    Python Socket
  • 原文地址:https://www.cnblogs.com/wanwz/p/12860254.html
Copyright © 2020-2023  润新知