【问题标题】:rsync will not exclude hidden files in gsutil 4.15rsync 不会排除 gsutil 4.15 中的隐藏文件
【发布时间】:2016-02-15 14:50:26
【问题描述】:

以前 gsutil 似乎不会上传隐藏文件。现在无法阻止上传隐藏文件。使用 -x 命令与 .*/\\..*.*/[.].* 仍然上传隐藏文件和目录。 这是一个本地目录到一个存储桶。

是否需要不同的表达方式?

【问题讨论】:

  • 如果您认为其中一篇文章回答了您的问题,请随时将其标记为解决方案。

标签: google-cloud-storage


【解决方案1】:

-x 排除选项应该可以工作:

gsutil rsync -x '\..*|./[.].*$' source-dir gs://your-bucket

您可以从[官方文档]中了解更多信息。

【讨论】:

  • 正确处理顶级隐藏文件夹。最终的解决方案是 '\..*|./[.].*$'
  • \..*|./[.].*$ 不适用于我的 .DS_Store 文件。
  • 不适用于env/.Python
  • 哦,不得不逃跑/
【解决方案2】:

这适用于路径中任何位置的隐藏文件和目录:

gsutil rsync -x '.*/\..*|^\..*' source dest

其他答案对我不起作用。

【讨论】:

    【解决方案3】:

    由于正则表达式没有绑定到字符串的边缘,.* 的开头和结尾不是必需的,而且我们可以使用分组来简化(原文如此!)一点:

    gsutil rsync -x '(^|/)\.' source dest
    

    \. 是点本身,(^|/) 表示点应该跟在文件名的开头 (^) 或 / - 子文件夹中的点文件之后。

    【讨论】:

      猜你喜欢
      • 2016-05-14
      • 2020-03-20
      • 2015-10-08
      • 2019-01-14
      • 2020-01-24
      • 2021-09-07
      • 1970-01-01
      • 2015-06-11
      • 2012-01-21
      相关资源
      最近更新 更多