linux 脚本练习,shell脚本练习题

这里主要收集一些shell脚本练习题,用于加强shell编程能力。

Q1

分析图片服务日志,把日志(每个图片访问次数*图片大小的总和)排行,也就是计算每个url的总访问大小

说明:本题生产环境应用:这个功能可以用于IDC网站流量带宽很高,然后通过分析服务器日志哪些元素占用流量过大,进而进行优化或裁剪该图片,压缩js等措施。

测试数据

59.33.26.105 – – [08/Dec/2010:15:43:56 +0800] “GET /static/images/photos/2.jpg HTTP/1.1” 200 11299

本题需要输出三个指标: 【被访问次数】 【访问次数*单个被访问文件大小】 【文件名(带URL)】

查看答案

Q2

计算出1+2+3+..+100的结果。可以使用多种方法解答。

查看答案

Q3

分析网站日志,找出在一分钟内打开网页超过60次的ip(排除图片,js和css等静态元素),并用iptables禁止其访问。加入crontab使脚本每分钟执行一次。

查看答案

Q4

teamlist.txt的内容为:

Name,Team,First Test, Second Test, Third Test

Tom,Red,5,17,22

Joe,Green,3,14,22

Maria,Blue,6,18,21

Fred,Blue,2,15,23

Carlos,Red,-1,15,24

Phuong,Green,7,19,21

Enrique,Green,3,16,20

Nancy,Red,9,12,24

编写一个awk脚本用来计算每个人的平均成绩,每次测试的平均成绩和每组队的平均成绩。如果某次成绩为负数,则表示此人错过了测试,那计算平均成绩时排除此人再计算。

输出的结果如下表,在名字的列表中,名字是10个宽度且左对齐(提示printf中使用%-10s格式),而平均值是7个字符宽度,右边两个右对齐的小数。

Name       Average

—-       ——-

Tom          14.67

Joe          13.00

Maria        15.00

Fred         13.33

Carlos       19.50

Phuong       15.67

Enrique      13.00

Nancy        15.00

——————

Average for Test 1 : 5

Average for Test 2 : 15.75

Average for Test 3 : 22.125

——————-

Average for Red Team: 16

Average for Blue Team: 14.1667

Average for Green Team: 13.8889

查看答案

Q5

传入至少三个数字参数到脚本file,并计算出最大,最小,平均值。需要判断传入的数字是否足够,否则输出警告信息。平均值保留两位小数。

如执行./file 3 4 6 5,输出结果如下:

max number is:6

min number is:3

average is:4.50

查看答案

Q6

有一列数字如下:

第1次:1

第2次:2

第3次:3

第4次:5

第5次:8

第6次:13

第7次:21

第8次:34

第9次:55

第10次:89

第11次:144

写出100次的数是什么。

查看答案

Q7

文件内容如下:

123abc456

456def123

567abc789

789def567

要求输出:

456ABC123

123DEF456

789ABC567

567DEF789

查看答案

shell脚本练习题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值