如何仅下载以一定范围的数字开头的文件?

如何仅下载以一定范围的数字开头的文件?

我正在尝试从网站上的编号列表中下载文件。列表最多有 6179 个项目,但我想从第 4852 个项目开始下载。

我已经尝试过以下命令:

wget -m -np -c -A "*[4852-6179]*" "WEBSITE"

然而,由于某种原因,它会从项目 1 开始下载。

命令:

wget -m -np -c -A "*485[2-9]*" "WEBSITE"

运行正常,但只下载文件 4852-4859。如何将该范围扩大到 4852-6179?

答案1

由于某种原因,从项目 1 开始下载

原因是[...]指定可能的字符,而不是数字;并且它匹配单个字符。它适用于一位数字,因为一位数字是一个字符。[4852-6179]相当于 [48523456179]相当于[123456789]相当于[1-9],它匹配任何数字,但0

485[2-9]

运行正常,但只下载文件 4852-4859。如何将该范围扩大到 4852-6179?

逐个使用多个模式非常简单:

485[2-9]          # 4852-4859
48[6-9][0-9]      # 4860-4899
49[0-9][0-9]      # 4900-4999
5[0-9][0-9][0-9]  # 5000-5999
60[0-9][0-9]      # 6000-6099
61[0-7][0-9]      # 6100-6179

相关内容