wget 仅记录成功下载的 url

Rem*_*Rem 5 linux shell wget

我只想记录下载成功的网址。我尝试使用 -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)

gpo*_*poo 0

你可以尝试这样的事情:

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 输出中具有不同的格式,因此您只能获得成功下载的链接(这就是您所要求的)。