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> 可以是字母 i或r或两者。旗标i启用不区分大小写的比较,而r启用正则表达式匹配。
- 将所有匹配给定模式的函数重命名。模式与源文件重命名相同。
 - 如果 <pattern> 或 <replacement> 应该包含逗号,它可以写成 - \,。- 此选项可以重复以设置多个 <command>。然后按照它们书写的顺序依次执行命令。但在执行之前,cmedit 会检查由此产生的转换是否可能。如果有两个路径将被转换为相同的新的路径,cmedit 会以错误状态退出并做不了任何事情。 
- <pattern> 是替换的模式。 cmedit 在 <infile> 的每个路径中搜索该模式,并尝试用 <replacement> 字符串进行替换。如果路径中 <pattern> 出现多次,则替换所有出现。
- -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. 的商标。所有其他商标归其所有者所有。