det*_*det 6 regex unison regular-language
我有一个目录~/x7/music/sfx
.
根目录中有一些文件和文件夹~/x7/music
.
我需要只同步sfx
文件夹并忽略其他任何内容music
.
我尝试过很多变种,但都错了.
ignore = Name music/*
ignorenot = Regex music/sfx/.* (OR just *)
Run Code Online (Sandbox Code Playgroud)
不起作用.
我期待用类似的东西
ignore = Name music/*^/
Run Code Online (Sandbox Code Playgroud)
我不熟悉齐奏,但要忽略除 sfx 之外的所有内容,您可以使用
\n\nignore = Regex /root/path/to/music/.*\nignorenot Regex /root/path/to/music/sfx/.*\n
Run Code Online (Sandbox Code Playgroud)\n\n\n\n\n\n还有一个
\n\nignorenot
首选项,它指定一组不应被忽略的路径模式,即使它们与忽略模式匹配。然而,这两组模式的交互可能有点棘手。它的工作原理如下:\n
\n- \n
Unison 开始从副本\xe2\x80\x94 的根(即空路径)检测更新。如果空路径
ignore
与模式匹配且不与ignorenot
模式匹配,则整个副本将被忽略。(因此,包含Name *
\n 作为ignore
模式并不是一个好主意。如果您想忽略除\n 特定文件集之外的所有内容,请使用Name ?*.
)- \n
如果根是目录,Unison 会继续在根的所有直接子级中查找更新。同样,如果某个子项的名称与某个
ignore
模式匹配但与某个模式不匹配ignorenot
,则整个路径(包括其下面的所有内容)都将被忽略。- \n
如果任何非忽略的子级是目录,则该过程将递归地继续。