我正在尝试使用wget从网页中提取URL。我试过这个
wget -r -l2 --reject=gif -O out.html www.google.com | sed -n 's/.*href="\([^"]*\).*/\1/p'
显示完成
Downloaded: 18,472 bytes in 1 files
但不显示网页链接。如果我试着单独做到这一点
wget -r -l2 --reject=gif -O out.html www.google.com
sed -n 's/.*href="\([^"]*\).*/\1/p' < out.html
输出
http://www.google.com/intl/en/options/
/intl/en/policies/terms/
它没有显示所有链接
ttp://www.google.com
http://maps.google.com
https://play.google.com
http://www.youtube.com
http://news.google.com
https://mail.google.com
https://drive.google.com
http://www.google.com
http://www.google.com
http://www.google.com
https://www.google.com
https://plus.google.com
而且我想从第二级获得更多链接,任何人都可以为此提供解决方案
提前致谢
答案 0 :(得分:0)
如果您不想使用grep,可以尝试
sed -n "/href/ s/.*href=['\"]\([^'\"]*\)['\"].*/\1/gp"
答案 1 :(得分:0)
-O file
选项捕获wget
的输出并将其写入指定的文件,因此没有输出通过管道传递到sed
。
您可以说-O -
将wget
输出定向到标准输出。