如何使用bash脚本从带有URL的CSV文件下载?

如何使用bash脚本从带有URL的CSV文件下载?,bash,csv,Bash,Csv,我有一个这种格式的csv文件 http://nex.s3.amazonaws.com/tt/01.nc,d9aa8c1f1a6ea5f7fd52b0b9a02fc336 http://nex.s3.amazonaws.com/tt/02.nc,fe12be292a322c34bbec1a82bd55e77d 我想解析CSV文件,读取第一列,并以这种方式设置每个URL。第二列没有用: wget --user=NEXUSER --password="" http://nex.s3.amazonaw

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

http://nex.s3.amazonaws.com/tt/01.nc,d9aa8c1f1a6ea5f7fd52b0b9a02fc336
http://nex.s3.amazonaws.com/tt/02.nc,fe12be292a322c34bbec1a82bd55e77d
我想解析CSV文件,读取第一列,并以这种方式设置每个URL。第二列没有用:

wget --user=NEXUSER --password="" http://nex.s3.amazonaws.com/tt/01.nc
到目前为止,我有:

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

while read url sum
do
        echo $url
        echo $sum
        wget --user=NEXGDDP --password="" $url
done
我如何才能做到这一点?

您只需使用:

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

或者,您可以使用以下选项:

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

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

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

while IFS=, read url sum
do
        echo "$url"
        echo "$sum"
        wget --user=NEXGDDP --password="" "$url"
done < "$INPUT"
#/bin/bash
INPUT='testfile.csv'
当IFS=时,读取url和
做
回显“$url”
回音“$sum”
wget--user=NEXGDDP--password=“”$url”
完成<“$INPUT”

一般来说,最好仅在必要时更改
IFS
;在这里,只有
read
命令需要更改值。此外,除非有充分的理由不引用参数展开式。

谢谢……有道理。这是我的第一个bash脚本。