如何排除主目录中的所有点文件以及所有子目录中的点文件?
我尝试在我的排除文件中添加以下表达式,但由于某种原因它不起作用:
(^|/)\.[^/]*(/|$)
此外,以下内容也不起作用:
.*
.*/**
如何排除主目录中的所有点文件以及所有子目录中的点文件?
我尝试在我的排除文件中添加以下表达式,但由于某种原因它不起作用:
(^|/)\.[^/]*(/|$)
此外,以下内容也不起作用:
.*
.*/**
请先尝试以下带有选项的命令,--dry-run
以确保获得预期的结果。
您可以使用该选项--rexclude "^\."
来匹配以 a 开头的文件和文件夹.
(但它不会匹配子目录中的 .dotfiles)。
示例输出s3cmd sync --rexclude "^\." ./ s3://bucket_name
exclude: .ignoreFile
exclude: .ignoreFolder/andItsContents
./normalFolder/.ignoreFile -> s3://bucket_name/normalFolder/.ignoreFile
上面的命令在当前文件夹中排除 .dotfiles ./ 并继续上传 normalFolder/.ignoreFile
要从子目录中排除点文件,您可以使用--rexclude "\/\."
示例输出s3cmd sync --rexclude "\/\." ./ s3://bucket_name
exclude: .ignoreThis
exclude: .ignoreFolder/.ignoreThis
exclude: .ignoreFolder/notadotfile
exclude: normalFolder/.ignoreThis
所以你的问题的答案应该类似于以下命令:
s3cmd --rexclude "^\." --rexclude "\/\." ./ s3://bucket_name
使用的正则表达式锚的解释:
^ Start of string, or start of line in multi-line pattern
\ Escape following character
有用的参考资料:
正则表达式备忘单