wget 循环遍历目录和子目录

wget 循环遍历目录和子目录

尝试使用 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

相关内容