dirname & idirname
自 3.1 版本起
dirname
术语允许匹配给定文件的父目录结构。
对于下面的示例,假设有一个文件,其完整名称(从项目根目录的相对路径)为 foo/bar/baz
,则 dirname 部分为 foo/bar
。
以下两个术语将匹配任何 dirname 与 foo/bar
完全匹配或为 foo/bar
的任何子目录的文件。 第一个是对第二个的简写
["dirname", "foo/bar"]
["dirname", "foo/bar", ["depth", "ge", 0]]
这些术语中的第二个使用基于文件在指定 dirname 中的深度的关系表达式。 如果文件直接包含在指定的 dirname 中,则认为该文件的 depth == 0
。 如果它包含在指定 dirname 的直接子目录中,则其 depth == 1
;如果它包含在孙子目录中,则其 depth == 2
,依此类推。
关系表达式接受与size 术语中描述的相同的关系运算符。
如果您只想匹配直接位于 foo/bar
目录中的文件
["dirname", "foo/bar", ["depth", "eq", 0]]
如果您只想匹配位于孙子目录或更深层目录中的文件
["dirname", "foo/bar", ["depth", "ge", 2]]
idirname
是 dirname
的不区分大小写版本。 如果检测到受监视的根目录是不区分大小写的文件系统,则 dirname
等效于 idirname
。