ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

16linux三剑客题目

2021-11-06 20:36:04  阅读:150  来源: 互联网

标签:16linux egrep log passwd etc awk print 题目 三剑客


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,egrep,log,passwd,etc,awk,print,题目,三剑客
来源: https://www.cnblogs.com/fengmo19970216/p/15518254.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有