使用文本处理命令获取链接批量下载


前几天看到一个不错的方法,现在分享给大家,希望有帮助

比如我看到Nmap的资源很想把他全部下载到本地怎么办呐?右键一个个点?用工具镜像整个站点?

以前我用的方法是左边打开浏览器,右边打开Notepad++ 一个个链接拖到Notepad++里,最后就有了一个完整的下载列表

现在有更好的方法,利用Linux的文本处理工具提取完整的下载链接,文本处理工具我很早就学过了,但是平常不用,学了就忘

  1. 打开你要处理网站的页面https://nmap.org/dist/ 右键保存网页
  2. 用编辑器打开删除HTML文件顶部的代码和底部代码留下链接部分
  3. 使用文本处理命令剔除多余文本,留下完整链接
1
2
awk '{print $7}' index-of.html | cut -d '"' -f2 > output.txt

解释如下:

1
2
3
4
awk '{print $7}'           // 打印出第7列文本,按空格或者制表符(Tab)
index-of.html // 要处理的文件
| cut -d '"' -f2 // 通过管道传递给 cut -d 指定分隔符为" -f2 指定输出地2列文本
> output.txt // 重定向标准输出到output.txt

然后就可以使用获取到的链接列表自动批量下载了

1
2
wget -i output.txt

原链接地址:使用文本处理命令获取链接批量下载