Shell脚本实现批量下载资源并保留原始路径

(编辑:jimmy 日期: 2024/12/26 浏览:2)

示例资源列表
如url.txt:
复制代码 代码如下:
http://su.bdimg.com/static/superplus/img/logo_white_ee663702.png
http://su.bdimg.com/static/superplus/img/logo_white_ee663703.png
http://su.bdimg.com/static/superplus/img/logo_white_ee663701.png
http://su.bdimg.com/static/superplus/img/logo_white_ee663704.png
http://su.bdimg.com/static/superplus/img/logo_white_ee663705.png
http://su.bdimg.com/static/superplus/img/logo_white_ee663706.png

我们需要下载这些图片,并保存在各自的文件夹下。

脚本如下

如download.sh
复制代码 代码如下:
#!/bin/bash
# desc: download resource
# author: 十年后的卢哥哥

mydir=`pwd`

while read line
do
{
    if [ -n "$line" ]
    then
        cd $mydir
        url=$(echo "$line" | tr -d '\r')
        picdir=$(echo $url | sed -r 's/http:\/\///g')
        picname=$(echo ${picdir##*/})
        picpath=$(echo ${picdir%/*})
        mkdir -p $picpath
        cd $picpath
        wget -O $picname `echo $url`
    fi
}
done < $1
exit 0

这里有几点要注意:

1、为了去掉文本文件中行末的换行符,要进行删除:
复制代码 代码如下:
tr -d '\r'

2、取资源名:
复制代码 代码如下:
${picdir##*/}

3、取资源路径:
复制代码 代码如下:
${picdir%/*}

运行
复制代码 代码如下:
sh download.sh url.txt

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。