如何使用包含URL的CSV文件中的bash脚本进行下载?

时间:2016-03-04 01:30:17

标签: bash csv

我有一个这种格式的csv文件

person.firstName = toTitleCase(person.firstName);
person.lastName = toTitleCase(person.lastName);
contacts.push(person); 

我想解析CSV文件,阅读第一列,并以这种方式WGET每个URL。第二栏没用:

http://nex.s3.amazonaws.com/tt/01.nc,d9aa8c1f1a6ea5f7fd52b0b9a02fc336
http://nex.s3.amazonaws.com/tt/02.nc,fe12be292a322c34bbec1a82bd55e77d

到目前为止,我有这个:

wget --user=NEXUSER --password="" http://nex.s3.amazonaws.com/tt/01.nc

我该怎么做?

3 个答案:

答案 0 :(得分:6)

您可以简单地使用:

cut -d, -f1 testfile.csv | xargs wget --user=NEXUSER --password=""

答案 1 :(得分:3)

您唯一缺少的是将输入重定向到文件中的循环:

#!/bin/bash
INPUT='testfile.csv'

while IFS=, read url sum
do
        echo "$url"
        echo "$sum"
        wget --user=NEXGDDP --password="" "$url"
done < "$INPUT"

作为一般规则,只有在必要时才更改IFS;在这里,它只是需要更改值的read命令。此外,请务必引用参数扩展,除非您有充分的理由不这样做。

答案 2 :(得分:2)

或者,你可以使用它:

for url in `cut -d',' -f1 file.csv`; do
   wget --user=NEXGDDP --password="" "$url"
done