跳至主要内容

解析文件

【深度管道】扩展一组文件包含/排除通配符。

谁可以使用此功能?

CodeQL 可用于以下代码库类型

本文内容

此内容描述了 CodeQL CLI 的最新版本。有关此版本的更多信息,请参阅 https://github.com/github/codeql-cli-binaries/releases

要查看早期版本中此命令可用选项的详细信息,请在终端中使用 --help 选项运行该命令。

摘要

Shell
codeql resolve files <options>... -- <dir>

描述

【深度管道】扩展一组文件包含/排除通配符。

此管道命令负责扩展对多个文件(通过其路径标识)进行操作的子命令的命令行参数。默认情况下,所有文件都包含在内,因此在不使用任何过滤器参数的情况下运行此命令将收集目录中的所有文件。

--include--exclude--prune 选项都采用通配符模式,可以使用以下通配符

  • 单个“?”匹配除正斜杠/反斜杠以外的任何字符;
  • 单个“*”匹配除正斜杠/反斜杠以外的任意数量的字符;
  • 模式“**”匹配零个或多个完整的目录组件。

选项

主要选项

<dir>

要搜索的目录。

--format=<fmt>

选择输出格式,text (默认)json

限制收集文件集的选项

--include-extension=<.ext>

包含搜索目录树中具有给定扩展名的所有文件。通常,您应该在扩展名之前包含点。例如,传递 --include-extension .xml 将包含所有具有“.xml”扩展名的文件。此选项与否定的 --include 选项不兼容。

--include=<glob>

包含搜索目录树中与给定 glob 匹配的所有文件和目录,使用每个文件和目录相对于搜索目录的相对路径。如果 glob 以“!”字符开头,则匹配的文件和目录将被排除在外。

--include 选项按顺序处理,后面的选项会覆盖前面的选项。例如,--include ** --include !sub/*.ts --include sub/main.* 将包含 sub/main.ts(因为它包含在 sub/main.* 中),排除 sub/index.ts(因为它被 !sub/*.ts 排除),并包含 sub/test.js(因为它包含在 ** 中且未被随后排除)。

--also-match=<glob>

要求所有结果也必须匹配给定的 glob 模式,使用每个文件和目录相对于搜索目录的相对路径。此选项与--include具有相同的结构和相同的解释,但指定了与--include结合使用的单独的 glob 模式序列。

--exclude=<glob>

排除所有与给定 glob 模式匹配的文件和目录,使用每个文件和目录相对于搜索目录的相对路径。此选项会覆盖所有 include 选项。此选项与否定的--include选项不兼容。

--prune=<glob>

排除所有与给定 glob 模式匹配的文件和目录,使用每个文件和目录相对于搜索目录的相对路径。此选项会覆盖所有 include 选项。此选项与否定的--include选项不兼容。

--size-limit=<bytes>

排除所有大小超过给定限制的文件。大小限制以字节为单位,或以千字节 (KiB)(后缀为“k”)、兆字节 (MiB)(后缀为“m”)和吉字节 (GiB)(后缀为“g”)为单位。此选项会覆盖所有 include 选项。

--total-size-limit=<bytes>

如果所有解析文件的大小总和超过给定限制,则使命令退出并报错。大小限制以字节为单位,或以千字节 (KiB)(后缀为“k”)、兆字节 (MiB)(后缀为“m”)和吉字节 (GiB)(后缀为“g”)为单位。

跟踪任何符号链接到其目标。

--[no-]find-any

最多查找一个匹配项(而不是所有匹配项)。

v2.11.3 版本起可用。

常用选项

-h, --help

显示此帮助文本。

-J=<opt>

[高级] 向运行命令的 JVM 提供选项。

(请注意,包含空格的选项将无法正确处理。)

-v, --verbose

逐步增加打印的进度消息数量。

-q, --quiet

逐步减少打印的进度消息数量。

--verbosity=<level>

[高级] 显式将详细程度级别设置为错误、警告、进度、进度+、进度++、进度+++ 之一。覆盖-v-q

--logdir=<dir>

[高级] 将详细日志写入给定目录中的一个或多个文件,生成的名称包含时间戳和正在运行的子命令的名称。

(要写入名称完全受您控制的日志文件,请改为提供--log-to-stderr并根据需要重定向 stderr。)

--common-caches=<dir>

[高级] 控制磁盘上缓存数据的存储位置,这些数据将在 CLI 的多次运行之间保留,例如下载的 QL 包和已编译的查询计划。如果未显式设置,则默认为用户主目录中名为.codeql的目录;如果该目录尚不存在,则会创建它。

v2.15.2 版本起可用。