CSV文件有2列,格式如下:
名称;由,分隔的链接;
例如
Product_1;www.example.com/product_1.png,www.example.com/product_2.png;我正在尝试做一个while循环,这样它就可以下载图像并相应地重命名它们,但是无法弄清楚。
//对不起,我想说的是,如果可能的话,我希望下载的图片在第一栏中使用_1、_2等
到目前为止,这就是我所得到的
#!/usr/bin/env bash
fname="$1"
while IFS=";" read f1 f2
do
mkdir -p "$f1";
wget -P "$f1" "$f2"
done < "$fname"它可以工作,但只对一个文件,有什么方法使我的生活更容易吗?
发布于 2017-11-03 12:11:33
我相信这就是你想要的。
#!/usr/bin/env bash
fname="$1"
# Loop through each line
while IFS=";" read -r f1 f2 _; do
# Create directory
mkdir -p "$f1"
# Loop through comma separated links
IFS=, read -r -a items <<< "$f2"
for i in $items; do
# Auto sequencing file name
number=0; suffix="";
while test -e "$f1/$f1$suffix.png"; do
(( ++number ))
suffix=$( printf -- '-%02d' "$number" )
done
outname="$f1/$f1$suffix.png"
# Download file
wget -P "$f1" -O "$outname" "$i"
done
done < "$fname"https://stackoverflow.com/questions/47094800
复制相似问题