16linux三剑客题目

2021/11/7 7:12:34

本文主要是介绍16linux三剑客题目,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

linux三剑客题目

1、找出/proc/meminfo文件中以s开头的行,至少用三种方式忽略大小写
    egrep -i '^s' /proc/meminfo
    egrep '^[sS]' /proc/meminfo
    egrep '^(s|S)' /proc/meminfo
    sed -nr '/^[sS]/p' /proc/meminfo
    sed -nr '/^(s|S)/p' /proc/meminfo
    
3、找出/etc/init.d/functions文件下包含小括号的行
    egrep '[()]' /etc/init.d/functions
    
4、输出指定目录的基名
    pwd | awk -F/ '{print $NF}'
    
5、找出网卡信息中包含的数字
    egrep -o '[0-9]+' /etc/sysconfig/network-scripts/ifcfg-*
     
6、找出/etc/passwd下每种解析器的用户个数
    awk -F: '{arr[$NF]++}END{for(i in arr){printf "%-15s %s\n",i,arr[i]}}' /etc/passwd
    
7、过滤网卡中的ip,用三种方式实现
    ip a | egrep -o '([0-9]{1,3}\.){3}[0-9]{1,3}' 
    ip a | awk '/([0-9]{1,3}\.){3}[0-9]{1,3}/{print$2,$4}' | awk '{if(NR==1){print $1} else{print $1,$2}}'
    
8、搜索/etc目录下,所有的.html或.php文件中包含的main函数出现的次数
    egrep -o 'main' $(find /etc -name "*.html" -o -name "*.php") | wc -l
    
9、过滤/etc/fstab中注释的行和空行
    egrep -v '^ *#|^$' /etc/fstab
    
10、找出文件中至少有一个空格的行
    egrep " +" /etc/fstab
​
11、过滤文件中以#开头的行,后面至少有一个空格
    egrep -v "^# +" /etc/fstab
    
12、查询出/etc目录中包含多少个root
    egrep -oR "root" /etc | wc -l
    
13、查询出所有的qq邮箱
    egrep -o "[0-9a-zA-Z]+@qq.com" 1.txt
    
14、查询系统日志(/var/log/messages)中所有的error
    egrep -i "error" /var/log/messages
​
16、删除一个文件中的所有数学
    sed -r 's/[0-9]//g' 1.txt
    
17、显示奇数行
    awk '{if(NR%2){printf "%-10s %s\n",NR,$0}}' /etc/passwd
    
18、删除passwd文件中以bin开头的行到nobody开头的行
    sed -r "/^bin/,/^nobody/d" /etc/passwd
    
20、每隔5行打印一个空格行
    awk '{if(NR%5==0){print $0,"\n"}else{print $0}}' /etc/passwd
    
21、不显示指定字符的行
    egrep -v "root" /etc/passwd
    
22、将文件中1到5行中aaa替换成AAA
    sed -r '1,5s/aaa/AAA/g' 1.txt
    
23、显示用户id为奇数的行
    awk -F: '{if($3%2){print $0}}' /etc/passwd
    
25、统计nginx日志中访问量(ip维度计算)
    egrep -c "^([0-9]{1,3}\.){3}[0-9]{1,3}" /var/log/nginx/access.log
    
26、统计访问nginx前10的ip
    egrep -o  "^([0-9]{1,3}\.){3}[0-9]{1,3}" /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10
    
27、统计nginx日志中的访问人数
    egrep -o "^([0-9]{1,3}\.){3}[0-9]{1,3}" /var/log/nginx/access.log | sort | uniq -c | wc -l
    egrep -o "^([0-9]{1,3}\.){3}[0-9]{1,3}" /var/log/nginx/access.log | awk '{arr[$0]++}END{print length(arr)}'
​
知识储备:
    sort    :处理排序(默认,按照第一个字符进行排序)
            -n:按照数值的大小进行排序
            -r:倒序排序
            
    uniq    :处理重复(只能够处理相邻的重复)
            -c:打印出重复次数
            
    head    :从文本头部开始读数据(默认只读前10行)
            -n:读前n行

 



这篇关于16linux三剑客题目的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程