cmedit – 在 csmes 文件中编辑路径

cmedit 是一个用于修改 .csmes 文件中文件路径的工具。

语法

cmedit [<options>] <infile> [-o <outfile>]

选项

  • <infile>: 要编辑的 .csmes 文件。除非设置了 -o 选项,否则会在此文件中将路径名更改写入。 (必需参数)
  • -o <outfile> | --output=<outfile>: .csmes 输出文件。如果设置了此参数,则原始的 <infile> 保持不变,将 <infile> 的编辑版本写入 <outfile>
  • <options>: 下列之一
    • -c <depth> | --cut=<depth>: 从 <infile> 中所有路径中移除一个共同的初始部分。

      <depth> 是一个非负整数,描述了应移除的路径组件数。路径组件是位于斜杠或反斜杠之间的字符序列。Windows 路径名开头的驱动器字母(加冒号)也计为一个路径组件。因此,命令 --cut=1 将将路径 /home/someone/main.cpp 转换为 /someone/main.cpp,并将 C:\mydir\main.cpp 转换为 \mydir\main.cpp

      如果 <depth> 太大,则 cmedit 以错误退出并做不了任何事。如果路径小于 <depth> 个组件或有两个路径在第一个 <depth> 个组件中不同,则会发生这种情况。因此,如果 <infile> 包含以下两个路径: /home/someone/myproject/main.cpp/home/someone/library/header.h,则命令 --cut=3 将无法成功。

      --cut 命令始终在所有 --rename 命令之前执行。

    • -C | --cut-all: 从 <infile> 中的路径中移除最大的共同初始部分。该选项相当于使用最高可能的值调用 -c <depth>

      --cut-all 命令始终在所有 --rename 命令之前执行。您可以使用 --cut--cut-all,但不能同时使用两者。

    • -r <command> | --rename=<command>:将所有匹配给定模式的路径重命名。

      参数 <command> 的形式为 <pattern><replacement><pattern><replacement><flags>,其中

      • <pattern> 是替换的模式。 cmedit<infile> 的每个路径中搜索该模式,并尝试用 <replacement> 字符串进行替换。如果路径中 <pattern> 出现多次,则替换所有出现。

        默认情况下,<pattern> 使用的是 通配符 语法,其中 ? 代表单个字符,* 代表任意数量的字符。通过设置 r 标志(见下文),可以使用 正则表达式 语法代替。(注意,在使用正则表达式时,Microsoft® Windows 路径名中的反斜杠必须加倍,以区分正则表达式语法的反斜杠。)

      • <replacement> 是替换的字符串。
      • <flags> 可以是字母 ir 或两者。旗标 i 启用不区分大小写的比较,而 r 启用正则表达式匹配。
      • 将所有匹配给定模式的函数重命名。模式与源文件重命名相同。

      如果 <pattern><replacement> 应该包含逗号,它可以写成 \,

      此选项可以重复以设置多个 <command>。然后按照它们书写的顺序依次执行命令。但在执行之前,cmedit 会检查由此产生的转换是否可能。如果有两个路径将被转换为相同的新的路径,cmedit 会以错误状态退出并做不了任何事情。

    • -l | --list-sources:列出 <infile> 中所有源路径。路径保持不变。
    • --list-functions:列出 <infile> 中可以重命名的所有函数的名称。
    • -I | --case-sensitivity-fix:重命名所有文件名相同但大小写不同的源文件。
    • -f | --force:即使报告错误也重命名源文件。
    • -n | --dry-run:不更改路径,只描述会执行的操作。
    • -v | --verbose:使输出更加详细。
    • @ <path>:从 <path> 中的文件读取命令行选项并将其插入到此选项的位置。选项文件是每行一个选项的文本文件。忽略前面的空格、尾随空格和空行。

退出值

cmedit 成功时退出状态为 0。如果 Coco 许可证无效,返回 -1,如果无法执行所需的重命名,返回 1。

Coco v7.2.0©2024 The Qt Company Ltd.
Qt 及其相关标志是芬兰及全球其他国家的 The Qt Company Ltd. 的商标。所有其他商标归其所有者所有。