我想使用镜像目录lftp
,但我想排除某些子目录。
我试过
mirror -R -e -x ^\.svn$ /documents/ /test
和
mirror -R -e -x /^\.svn$/ /documents/ /test
但他们都没有排除.svn目錄。
答案1
mirror -R -e -x ^\.svn$ /documents/ /test
很好。
诀窍在于,.svn是目录它只会与以斜杠结尾的模式匹配:
mirror -R -e -x ^\.svn/$ /documents/ /test
答案2
从我的实验来看,包含和排除模式似乎与整个路径匹配,没有初始 / 但目录结尾有 /。
因此,如果您尝试匹配可能出现在树中的任何级别的目录名(如 .svn),则需要此 RE:
(^\|/).svn/
^ 选项与顶层的 .svn 匹配,而 / 选项与低于该级别的任何级别匹配。
| 字符对于 lftp 来说很重要,因此需要被晃动。
答案3
我在用着
--exclude /\..+/$
排除所有以点开头的文件夹。