linux-shell脚本高并发对文本url批量下载

实践出真知

样例

http://xxxx.file.myqcloud.com/yyy/xxxxx/xxxx.jpg

#注意xxx,yyy都是马赛克

需求:  

1、url条数130万左右,图片都说16kB左右的小图片  

2、需要对下载的图片命令成yyy.jpg   注意:yyy是具有唯一性特征的

 

#不限制进程,默认按实际最大创建
前提是高性能的linux主机,放开速度跑。带宽、cpu、内存、处理器,都相对好点

#!/bin/bash
#des 单线程读取文件url
mkdir smrz
while read -r i
do ii=`echo ${i#*file.myqcloud.com/}` id=`echo ${ii%%/*}`.jpg curl -s -o smrz/$id $i done < smrz_download_url.txt

 对线程并发下载文件

#!/bin/bash
#des 不限制进程,默认按实际最大创建
#mkdir smrz_ff
while read -r i
do {        
ii=`echo ${i#*file.myqcloud.com/}`       
id=`echo ${ii%%/*}`.jpg        
curl -s -o smrz_ff/$id  $i 
}&  #执行循环丢进后台创建进程
done < xaf
wait

 

shell行读取文件:http://www.jb51.net/article/59041.htm

shell并发执行参考:http://blog.csdn.net/wangjin2891/article/details/51699860

posted @ 2018-08-03 21:44  mvpbang  阅读(3744)  评论(0编辑  收藏  举报