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