使用wget下载的新文件列表

时间:2012-06-28 14:51:30

标签: bash wget

我正在使用wget从FTP服务器下载新文件。已下载的新文件需要由另一个脚本处理。

wget -N -r ftp://server/folder

所以我的问题是:如何获得已下载wget的所有文件的列表?

提前致谢!

1 个答案:

答案 0 :(得分:4)

您可以使用wget的-o标志将标准输出通过管道传输到日志文件。日志文件的格式与终端的常规输出格式相同,例如:

--2012-06-28 17:57:13--  http://cdn.sstatic.net/stackoverflow/img/sprites.png
Resolving cdn.sstatic.net (cdn.sstatic.net)... 67.201.31.70
Connecting to cdn.sstatic.net (cdn.sstatic.net)|67.201.31.70|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 16425 (16K) [image/png]
Saving to: `sprites.png'

0K .......... ......                                     100%  131K=0.1s

2012-06-28 17:57:13 (131 KB/s) - `sprites.png' saved [16425/16425]

如果您通过egrep将此文件作为egrep -e "--" logfile.txt进行管道传输,您将只获得指定下载哪些文件的行,并带有时间戳。

--2012-06-28 17:57:13--  http://cdn.sstatic.net/stackoverflow/img/sprites.png

如果您愿意,可以将其通过管道剪切egrep -e "--" logfile.txt|cut -d ' ' -f 4以仅获取下载的文件。

http://cdn.sstatic.net/stackoverflow/img/sprites.png

你也应该在这里添加错误检查,但这是基本的概要。