我有一个指向 http 页面的链接,其结构如下:
父目录 -
[DIR] _OLD/ 2012 年 2 月 1 日 06:05 -
[DIR] _Jan/ 2012 年 2 月 1 日 06:05 -
[DIR] _Dec/ 2012 年 1 月 1 日 06:05 -
...... [DIR] _Apr/ 2011 年 5 月 1 日 06:05 -
[DIR] _Mar/ 2011 年 4 月 1 日 06:05 -
[DIR] _Feb/ 2011 年 3 月 1 日 06:05 -
[DIR] WEB-INF/ 2009 年 8 月 21 日 13:44 -
[ ] nohup_XXX_XXX21.out 2012 年 2 月 14 日 09:05 1.6M
[ ] XXX_XXX21.log 2012 年 2 月 14 日09:04 64K
[ ] XXX_XXX21_access.log 2012 年 2 月 14 日 08:31 8.0K
[ ] XXX_XXX21_access.log00013 2012 年 2 月 14 日 00:01 585K
我只想下载根目录中的文件...xxxx 文件。
我有一个解决方案
curl -U Mozilla http://yourpage.com/bla.html > page
grep -o http://[^[:space:]]*.*log* page > links
wget -i link
但我想知道是否不能仅使用 wget 来做到这一点?
答案1
根目录中所有与模式 *.log* 匹配的文件:
wget --user-agent=Mozilla --no-directories --accept='*.log*' -r -l 1 http://yourpage.com/bla.html
- --user-agent=Mozilla 设置 User-Agent 标头
- --no-directories 保存当前目录中的所有文件
- --accept='*.log' 接受的扩展(模式)
- -r 递归
- -l 1 一级递归
您可以避免 grep html 链接(可能容易出错),但需要向服务器发出更多请求。