shell脚本批量下载资源并保留路径

前端之家收集整理的这篇文章主要介绍了shell脚本批量下载资源并保留路径前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

示例资源列表

如url.txt:

http:logo_white_ee663702.png http:logo_white_ee663703.png http:logo_white_ee663701.png http:logo_white_ee663704.png http:logo_white_ee663705.png http:logo_white_ee663706.png

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

脚本如下

如download.sh

#!/bin/mydir=<span style="color: #0000ff;"&gt;pwd</span><span style="color: #000000;"&gt;

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

这里有几点要注意:

1、为了去掉文本文件中行末的换行符,要进行删除

-d

${picdir##*/}

${picdir%

运行

download. url.txt

猜你在找的Shell相关文章