使用 Wget 跳过成功下载的文件

2024-03-25

所以我有这个 Bash 子例程来使用 wget 下载文件,现在我的问题是如何跳过成功下载的文件。该脚本会下载很多文件,一旦下载失败,它会重新下载所有文件,覆盖那些从一开始就成功的下载(可能会因为重新下载而不完整)。

那么如何跳过那些下载成功的文件呢?

DownloadFile() {
  paramURL=$1
  paramFilename=$2

  if [ $flag_archive_fetch = "false"  ];
  then
      wget "--timeout=180" "--tries=5" "$paramURL" "-O" "${scratch_dir}$paramFilename"
  else
      unzip -o "$archive_file" "$paramFilename" -d "${scratch_dir}"
  fi

  touch "${scratch_dir}$paramFilename"
}

您可以利用 Wget--continue(恢复损坏的下载)和--timestamping http://www.gnu.org/software/wget/manual/html_node/Time_002dStamping-Usage.html(仅当覆盖成功下载的文件时Last-modified属性已更改,否则跳过下载)

wget "--continue ‐‐timestamping --timeout=180" "--tries=5" "$paramURL" "-O" "${scratch_dir}$paramFilename"

另一种选择是使用--no-clobber代替--timestamping,它会跳过已经下载的文件而不检查Last-modified属性,

 wget "--continue ‐‐no-clobber --timeout=180" "--tries=5" "$paramURL" "-O" "${scratch_dir}$paramFilename"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Wget 跳过成功下载的文件 的相关文章

随机推荐

  • 如何创建通用 Func 委托

    我有这个方法 public static T F
  • 对 Slack API 返回的“(400) Bad Request”进行故障排除

    我们使用 slack API 一段时间了 从 Jenkins 内的 powershell 调用它 一切都工作正常 这些消息具有格式并使用一些链接 最近 一些消息无法通过 返回 400 Bad Request 如果我从日志中获取失败的内容并手
  • 如何使用dispatchQueue创建引用循环?

    我觉得我一直误解了创建引用循环的时间 在我以前认为几乎任何有块并且编译器都会强迫你编写的地方 self那么这是我正在创建引用循环并且需要使用的标志 weak self in 但以下设置不会创建引用循环 import Foundation i
  • 带有部分粗体文本的自定义 UITableViewCell

    尝试实现类似于内置联系人 iPhone 应用程序的名称 UITableView 其中名字为普通字体 姓氏为粗体 快速谷歌一下后发现 这并不像听起来那么容易 因为 iPhone SDK 缺乏 UILabels 中的富文本支持 找到的解决方案之
  • 在本地主机上运行时 Google Optimize 不会触发

    我正在尝试通过以下方式在 JavaScript 中获取 Google Optimize 实验数据这些说明 https support google com optimize answer 9059383 但我没有得到回调 也看不到调试器中发
  • Go的修订历史背后有什么故事?

    我注意到前 4 次修订f6182e5abf5e b66d0bf8da3e ac3363d7e788 172d32922e72Go 源代码都早在 Golang 被提出之前就已经存在了 最古老的是1972年 https github com g
  • 有没有什么方法可以禁用 ORMLite 检查使用 DataType.SERIALIZABLE 声明的字段是否实现了可序列化?

    问题标题已经说明了一切 我有一个这样声明的字段 DatabaseField canBeNull false dataType DataType SERIALIZABLE List
  • Azure Blob 存储 blob 到索引

    是否可以将文档上传到 Blob 存储并执行以下操作 获取文档内容并添加到索引 从第 1 点的内容中抓取关键短语并添加到索引中 我希望关键短语可以被搜索 我有代码可以将文档上传到 blobstorage 效果非常好 但获得此索引的唯一方法 据
  • 无法使用 primeng 虚拟滚动延迟加载

    我正在尝试使用 primeng 对大量数据实现延迟加载
  • 如何在 PDFsharp 中设置 DPI(每英寸点数)

    有没有办法在 PDFsharp 的情况下设置 DPI 每英寸点数 Thanks 不 PDF 文件是没有 DPI 的矢量文件 如果您的问题是关于 PDF 文件中存储的图像 PDFsharp 在图像出现时对其进行存储 PDFsharp 尚未通过
  • 将平方和立方项转换为乘法

    我正在尝试使用 sympy 中的 ccode 将来自 sage 的大表达式转换为有效的 C 代码 然而 我的表达式有很多平方和立方项 由于 pow x 2 比 x x 慢得多 因此我尝试在转换之前在表达式中扩展这些术语 基于this htt
  • 如何让两个雷神任务共享选项?

    有了托尔 人们就可以使用method option https github com wycats thor wiki Method Options设置特定任务的选项 要为班级中的所有任务设置选项 可以使用class option 但是 如
  • 使用流 API 更新新列后无法将新值插入 BigQuery 表

    我在 bigquery 表中发现了一些奇怪的行为 我刚刚创建了一个新列 在表中添加了一个新列 它在界面上看起来不错 并通过 api 获取架构 但是 当向新列添加值时 出现以下错误 insertErrors errors message no
  • Android 实时音频分析

    我已经在网上搜索过这个 但仍然有点困惑 因为我相信其他人如果想到这样的事情也会感到困惑 我想在序言中说 这是not为了家庭作业和 或利润 我想创建一个应用程序 可以在您准备爆米花时监听微波炉的声音 当弹出声音之间有一定的时间间隔 比如 5
  • 访问另一个结构体指针内的结构体指针内的元素

    只是想了解结构体的嵌套指针如何工作 如何访问另一个指向结构的指针中的结构指针中的元素 谢谢 include
  • 如何让 Qt 识别 QMYSQL 驱动程序

    我试图从 Qt 应用程序访问 MySql 数据库 但出现以下错误 QSqlDatabase QMYSQL driver not loaded QSqlDatabase available drivers QSQLITE QSQLITE2 我
  • 确定 Java 8 中的列表是否由字谜元素组成

    我想确定列表是否是字谜或不使用 Java 8 输入示例 cat cta act atc tac tca 我已经编写了以下函数来完成这项工作 但我想知道是否有更好 更优雅的方法来完成这项工作 boolean isAnagram String
  • Kotlin 和 Firebase 读写数据

    我已经学习 Kotlin 3 周了 所以我想从我的 Firebase 数据库中读取数据 这是写入数据的MainActivity kt val database Firebase database val latitude latitude
  • 如何使用 shell 脚本连接 2 个 csv 文件?

    我正在尝试制作一个 shell 脚本 它将通过以下方式组合两个 csv 文件 我有两个 csv 文件 f1 csv 和 f2 csv f1 csv的格式为 startId endId roomNum f2 csv 的格式如下 startId
  • 使用 Wget 跳过成功下载的文件

    所以我有这个 Bash 子例程来使用 wget 下载文件 现在我的问题是如何跳过成功下载的文件 该脚本会下载很多文件 一旦下载失败 它会重新下载所有文件 覆盖那些从一开始就成功的下载 可能会因为重新下载而不完整 那么如何跳过那些下载成功的文