尝试使用 wget 从下面的 ftp 站点提取一堆文件。有按年份(2010 年至 2017 年)划分的子目录,以及按各个月份划分的子目录。我不需要所有月份,只需要 11 月至 4 月。
认为类似下面的方法可以起作用:
#! /bin/bash
for months in "11_Nov" "12_Dec" "01_Jan" "02_Feb" "03_Mar" "04_Apr"
do
wget ftp://sidads.colorado.edu/DATASETS/NOAA/G02158/masked/{2010..2017}/"$months"/*.tar
done
但 {2010..2017} 部分似乎有点问题。正确的语法是什么?我觉得我非常接近了。
谢谢
编辑:错误是:没有这样的目录“DATASETS/NOAA/G02158/masked/{2010..2017}/12_Dec”。
编辑2:用户异种注意到我的 shell 可能不是 bash。确实不是。它是 .tcsh。谢谢大家!
答案1
你是非常接近。你只是忘记了“do”,就像
#!/bin/bash
# if ! echo {2010..2017}| grep 2015; then echo "your globbing needs an update"; exit 1; fi
for months in "11_Nov" "12_Dec" "01_Jan" "02_Feb" "03_Mar" "04_Apr"
do
wget ftp://sidads.colorado.edu/DATASETS/NOAA/G02158/masked/{2010..2017}/"$months"/*.tar
done