【发布时间】:2016-02-15 14:50:26
【问题描述】:
以前 gsutil 似乎不会上传隐藏文件。现在无法阻止上传隐藏文件。使用 -x 命令与
.*/\\..* 或
.*/[.].* 仍然上传隐藏文件和目录。
这是一个本地目录到一个存储桶。
是否需要不同的表达方式?
【问题讨论】:
-
如果您认为其中一篇文章回答了您的问题,请随时将其标记为解决方案。
以前 gsutil 似乎不会上传隐藏文件。现在无法阻止上传隐藏文件。使用 -x 命令与
.*/\\..* 或
.*/[.].* 仍然上传隐藏文件和目录。
这是一个本地目录到一个存储桶。
是否需要不同的表达方式?
【问题讨论】:
-x 排除选项应该可以工作:
gsutil rsync -x '\..*|./[.].*$' source-dir gs://your-bucket
您可以从[官方文档]中了解更多信息。
【讨论】:
\..*|./[.].*$ 不适用于我的 .DS_Store 文件。
env/.Python
/
这适用于路径中任何位置的隐藏文件和目录:
gsutil rsync -x '.*/\..*|^\..*' source dest
其他答案对我不起作用。
【讨论】:
由于正则表达式没有绑定到字符串的边缘,.* 的开头和结尾不是必需的,而且我们可以使用分组来简化(原文如此!)一点:
gsutil rsync -x '(^|/)\.' source dest
\. 是点本身,(^|/) 表示点应该跟在文件名的开头 (^) 或 / - 子文件夹中的点文件之后。
【讨论】: