我只想记录下载成功的网址。我尝试使用 -o log.txt,但这会记录所有内容,例如标题、ip ...
我只想要一个简单的列表,例如
http://example/
http://example/toto.html
http://example/sub/tata.html
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我的 wget :
wget http://example.com/ -r -v -S -R js,css,png,gif,jpg,pdf -o log.txt
Run Code Online (Sandbox Code Playgroud)
你可以尝试这样的事情:
wget http://example.com/ -r -nv -S -R js,css,png,gif,jpg,pdf 2>&1 | perl -ne 's|^.*URL:(https?://.*?) .*|\1|; print "$1\n"'
Run Code Online (Sandbox Code Playgroud)
请注意,我使用-nv(无详细)而不是-v。我还将输出从 stderr 重定向到 stdout,这样它就可以在管道中由 Perl 进行处理。损坏的链接在 wget 输出中具有不同的格式,因此您只能获得成功下载的链接(这就是您所要求的)。