Ousland
侠客
侠客
  • UID67
  • 粉丝10
  • 关注0
  • 发帖数38
  • 社区居民
  • 阅读:3879
  • 回复:7

2014-08-01 第三周作业 崔景宇

楼主#
更多 发布于:2014-08-01 23:36
第一题:
#! /bin/bash
awk 'BEGIN{FS=":|//";} {if( $2>=01 && $2<=05 ){ print $6; }}' /home/test/access.log | grep 'musicworld' | cut -d ' ' -f 1 | sort | uniq -c | sort -n -r



第二题:
0 8 * * 1-5  /home/test/mail.sh | mail -s access_log mhmrcui@126.com


第三题:

#! /bin/bash
html=$(curl -s $1);
html=$(echo $html | sed 's/ /\n/g' | grep -E "src\=(\"|\').*\.(png|jpg|gif)");
 
for src in $html;
do
src=$(echo $src | awk 'BEGIN{FS="\"";} {print $2}');
    if [ ! -d /home/test/curl ];
    then
    mkdir curl;
    chmod +w curl;
    fi;
    wget -P /home/test/curl $src; 
done; 
 
exit 0;
[Ousland于2014-08-04 23:26编辑了帖子]
喜欢0
BlackTree
管理员
管理员
  • UID1
  • 粉丝116
  • 关注6
  • 发帖数715
  • 社区居民
  • 最爱沙发
  • 喜欢达人
  • 原创写手
沙发#
发布于:2014-08-03 19:41
等下次孟老师给大家讲吧,有时间继续想想鼓捣鼓捣
riverlet
管理员
管理员
  • UID4
  • 粉丝8
  • 关注0
  • 发帖数111
板凳#
发布于:2014-08-04 13:48
第三题是哪儿难住了你呢?
Ousland
侠客
侠客
  • UID67
  • 粉丝10
  • 关注0
  • 发帖数38
  • 社区居民
地板#
发布于:2014-08-04 15:01
BlackTree:等下次孟老师给大家讲吧,有时间继续想想鼓捣鼓捣回到原帖
妥妥滴.
Ousland
侠客
侠客
  • UID67
  • 粉丝10
  • 关注0
  • 发帖数38
  • 社区居民
4楼#
发布于:2014-08-04 15:07
riverlet:第三题是哪儿难住了你呢?回到原帖
我晚上回家重新整理下思路,再详细咨询您.

我上次是卡到, 过滤出带 <img>标签的数据了,然后我想把这些img标签里的src提取出来,形成一个数组,然后循环这个数组 wget出图片....但是怎么提取出src里的图片地址形成数组,我怎么也没鼓捣出来.
riverlet
管理员
管理员
  • UID4
  • 粉丝8
  • 关注0
  • 发帖数111
5楼#
发布于:2014-08-04 17:04
Ousland: 我晚上回家重新整理下思路,再详细咨询您.

我上次是卡到, 过滤出带 <img>标签的数据了,然后我想把这些img标签里的src提取出来,形成一个数组,然后循环这个数组 wget出图片....但是怎么提取出src里的图片地址形成数组,我怎...
回到原帖
第二题邮件内容为空,还记得怎样调试crontab任务吗? 在命令后面加一个输出重定向,记录下输出时的报错信息看看。最大的可能是执行时代码中的 "./access.log" 这样的相对路径找不到文件。

第三题 可以不用放到数组,在shell里只要一段字符串用换行分割,就可以用 for ... in 循环处理。

可以用  sed 或 grep 先把html里的 img src 拿到,输出为每行一个图片URL,传递给 for ...in ,用wget下载下来。

再试试,相信你能捣鼓出来。
Ousland
侠客
侠客
  • UID67
  • 粉丝10
  • 关注0
  • 发帖数38
  • 社区居民
6楼#
发布于:2014-08-04 19:23
riverlet: 第二题邮件内容为空,还记得怎样调试crontab任务吗? 在命令后面加一个输出重定向,记录下输出时的报错信息看看。最大的可能是执行时代码中的 "./access.log" 这样的相对路径找不到文件。

第三题 可以不用放到数组,在shel...
回到原帖
好的,老师,我回家试试.
Ousland
侠客
侠客
  • UID67
  • 粉丝10
  • 关注0
  • 发帖数38
  • 社区居民
7楼#
发布于:2014-08-04 23:28
riverlet: 第二题邮件内容为空,还记得怎样调试crontab任务吗? 在命令后面加一个输出重定向,记录下输出时的报错信息看看。最大的可能是执行时代码中的 "./access.log" 这样的相对路径找不到文件。

第三题 可以不用放到数组,在shel...
回到原帖
按照您的意见,我终于都鼓捣完了,第二题打印错误,的确是路径不对.

老师,有空发个参考答案看看吧.

返回顶部