测试开发面试(二)shell

1. 一个四列的文件,如何用第四列去覆盖第二列
2. 统计日志里error出现的次数
3. 服务器连接外网的端口有哪些
4. 怎么获取某一列数字的平均值,最大值、最小值
5. 怎么日志里url的个数
6. 怎么杀掉8080端口的进程号
7. 使用shell获取Nginx log中接口包含topic且状态码为200的接口平均响应时间,越严谨越好
cat nginx.log |grep ‘topic’ |grep ‘200’|awk -F ‘’ ‘{sum=sum+$1} END {print “sum=”,sum}’
8. 每隔2s获取某个进程的cpu和mem数据并保存到csv数据文件
9. linux命令[从nginx日志里统计接口平均响应时间/统计日志里所有http/删除80端口的所有进程号
10. uniq、sort、wc -l、awk、grep的综合应用]
11. 统计log中每个ip的出现次数并排序
12. linux进程间的通信方式
13. grep -A -B -C -c 代表什么意思
-A是显示匹配后和它后面的n行。
-B是显示匹配行和它前面的n行。
-C是匹配行和它前后各n行。
cat 11.log |grep -C 5 ‘2018’
14. 批量替换文本里的abc
sed -i ‘s/nihao/alibaba/g’ 1.log
-i 替换后保存到文件
s 替换
g 全部替换(不带g时只替换每一行匹配到的第一个)
15. 统计ip出现的次数
文件内容如下:
59.151.44.186,123456,备注1
211.151.239.46,234567,备注2
211.151.239.46,234567,备注3
211.152.239.46,345678,备注4
59.151.44.186,123456,备注5
答案:
cat 1.log| awk -F ‘,’ ‘{print $1}’| sort -n | uniq -c
uniq -c前必须先排序
16. 统计IP出现次数(ip不在一列上,要用正则匹配)
grep -i -o -E “([0-9]{1,3}.){3}[0-9]{1,3}” test1.txt | sort -n | uniq -c | sort -n?-r | head -6

你可能感兴趣的:(面试)