rsync 不会排除 gsutil 4.15 中的隐藏文件
rsync will not exclude hidden files in gsutil 4.15
之前 gsutil 似乎无法上传隐藏文件。现在无法阻止隐藏文件的上传。使用 -x 命令
.*/\..*
或
.*/[.].*
仍然上传隐藏文件和目录。
这是一个本地目录最多一个桶。
是否需要不同的表达方式?
-x
排除选项应该有效:
gsutil rsync -x '\..*|./[.].*$' source-dir gs://your-bucket
您可以从[官方文档]了解更多信息。
这适用于路径中任何位置的隐藏文件和目录:
gsutil rsync -x '.*/\..*|^\..*' source dest
其他答案不适合我。
由于正则表达式没有绑定到字符串的边缘,因此不需要开头和结尾的 .*
,而且我们可以使用分组来简化(原文如此!)一点:
gsutil rsync -x '(^|/)\.' source dest
其中 \.
是点本身,(^|/)
指出点应该跟在文件名的开头 (^
) 或 /
- 一个点之后子文件夹中的文件。
之前 gsutil 似乎无法上传隐藏文件。现在无法阻止隐藏文件的上传。使用 -x 命令
.*/\..*
或
.*/[.].*
仍然上传隐藏文件和目录。
这是一个本地目录最多一个桶。
是否需要不同的表达方式?
-x
排除选项应该有效:
gsutil rsync -x '\..*|./[.].*$' source-dir gs://your-bucket
您可以从[官方文档]了解更多信息。
这适用于路径中任何位置的隐藏文件和目录:
gsutil rsync -x '.*/\..*|^\..*' source dest
其他答案不适合我。
由于正则表达式没有绑定到字符串的边缘,因此不需要开头和结尾的 .*
,而且我们可以使用分组来简化(原文如此!)一点:
gsutil rsync -x '(^|/)\.' source dest
其中 \.
是点本身,(^|/)
指出点应该跟在文件名的开头 (^
) 或 /
- 一个点之后子文件夹中的文件。