企业shell面试题:获取51CTO博客列表倒序排序考试题
老男孩教育培训机构需求:需求入下:
请把http://oldboy.blog.51cto.com 地址中的所有博文,按照时间倒序列表如下:
2013-09-13 运维就是一场没有硝烟的战争
http://oldboy.blog.51cto.com/2561410/1296694
2016-04-17 运维人员写项目方案及推进项目的基本流程思路
http://oldboy.blog.51cto.com/2561410/1764820
附加:高级要求:
生成html页面,并设置超链接。
结果如下:
http://oldboy.blog.51cto.com/2561410/1862041
#!/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin HTMLFILE=/home/oldboy/html HTTP=http://oldboy.blog.51cto.com/all/2561410 NUM=$(curl $HTTP |awk -F "[ /]" '/页数/ {print $(NF-3)}') [ -d $HTMLFILE ]||mkdir $HTMLFILE -p echo -e "<b><h1>老男孩51CTO博客文章html整理版</h1></b>\n<b><h3>老男孩教育运维脱产班31期 王梅西</h3></b>" >$HTMLFILE/blog_oldboy_$(date +%F).html for((i=$NUM;i>0;i--)) do curl $HTTP/page/$i|egrep "<li><span>|<em"|awk '{if(NR%2==0){printf $0 "\n"}else{printf $0}}'|awk -F '["<>]+' '{print "<a href=\"http://oldboy.blog.51cto.com"$9"\">",$14,$10,"</a> <br>"}'|sort -n >>$HTMLFILE/blog_oldboy_$(date +%F).html done 答案:来自31期在读学员王梅西同学。