首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从CSV文件中的链接下载Bash/Shell文件

从CSV文件中的链接下载Bash/Shell文件
EN

Stack Overflow用户
提问于 2017-11-03 11:32:51
回答 1查看 332关注 0票数 0

CSV文件有2列,格式如下:

名称;由,分隔的链接;

例如

代码语言:javascript
运行
复制
Product_1;www.example.com/product_1.png,www.example.com/product_2.png;

我正在尝试做一个while循环,这样它就可以下载图像并相应地重命名它们,但是无法弄清楚。

//对不起,我想说的是,如果可能的话,我希望下载的图片在第一栏中使用_1、_2等

到目前为止,这就是我所得到的

代码语言:javascript
运行
复制
#!/usr/bin/env bash
fname="$1"
while IFS=";" read f1 f2
do
  mkdir -p "$f1";
  wget -P "$f1" "$f2"
done < "$fname"

它可以工作,但只对一个文件,有什么方法使我的生活更容易吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-03 12:11:33

我相信这就是你想要的。

代码语言:javascript
运行
复制
#!/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"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47094800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档