以下格式化选项可用。每个子命令的命令语法显示支持该子命令的格式化选项。
关于命名限制的信息在格式化信息的后面。
缺省情况下,大多数命令的输出都设置为对齐的列。 使用缺省分隔符(即空格)将格式字符串分布到列中。
例如,格式字符串 "%name Release=%release" 分布到以下这些列中:
* 字符串字面值 "Release="
* 关键字 %release
报告三个对象的命令可能显示以下输出:
ClientSessionContext.java Release=client/1.0
DisplayNameResourceBundle.java Release=client/2.0
DataNotFoundException.java Release=client/1.0
在示例输出中,第一列包含空格以垂直对齐第二列。 在假设终端显示设备使用等宽字体的前提下,计算对齐。 如果您发现没有正确对齐的列,请检查显示设备是否固定间距字体,而不是等宽字体。 您可能必须将 ccm.cli.format.font 设置为固定间距字体,以便您的显示设备正确对齐。
换行符将使格式字符串在当前列终止。换行符后面的文本成为下一行第一列的一部分。
您可以采用 -sep|-separator separator 选项来指定不同分隔符字符。例如,考虑采用格式字符串 "%name|Release %release"。通过缺省分隔符字符,格式字符串将由如下所示的两列组成:
* 关键字 %name
* 字符串字面值 "|Release"
报告三个对象的命令可能显示以下输出:
ClientSessionContext.java|Release client/1.0
DisplayNameResourceBundle.java|Release client/2.0
DataNotFoundException.java|Release client/1.0
现在考虑同样的格式字符串,但使用选项 -sep "|"。将使用管道分隔符将该格式字符串分布到列中:
* 字符串字面值 "Release "
* 关键字 %release
采用同样的数据,结果是以下输出:
ClientSessionContext.java Release client/1.0
DisplayNameResourceBundle.java Release client/2.0
DataNotFoundException.java Release client/1.0
-nf|-noformat 选项指定不使用列对齐。如果指定此选项,那么格式字符串将解释为包含所有元素的单个列。使用此选项生成以定界符分隔的输出(例如,以逗号分隔)。
在目前为止所描述的例子中,格式字符串由字符串字面值或单个关键字(例如 %release)组成。 这可能不足以实现您想要的格式。但是,Synergy CLI 客户机支持提供更好控制和灵活性的更多高级格式。
如之前所述,除非指定 -nf|-noformat 选项,否则首先将格式字符串分布到列中。每一列可以由任何这些元素的集合组成:
这显示在输出中。如果希望输出中显示单个百分号 %,可以指定一对百分号,例如 %%。
用所报告对象的特定特性值的字符串表示来代替它。
它控制此列内容的一些整体格式。请参阅列格式元素以获取更多信息。
在前面的例子中,最简单的关键字格式是百分号后面跟特性名称。例如,将 %release 替换为 release 特性值的字符串表示。 如果报告的对象是 Synergy 数据库中的对象,那么特性名要么是特性名称,要么是 内置关键字。
在一些情况下,报告的对象可能不是数据库实体。例如,项目成员资格冲突由各种数据组成,如冲突对象、父项目、冲突类型、关联的任务等。要指定报告的数据,您可以使用关键字 objectkey:
%[objectkey]propertyname
objectkey 指定已命名特性所引用的对象部分。 例如,对于项目成员资格冲突,对象关键字 object 指冲突的文件或目录,而对象关键字 project 指与冲突关联的父项目。%[project]displayname %[object]release 的格式字符串显示与每个成员资格冲突关联的项目的内置 displayname 特性,以及冲突的文件或目录的 release 特性。
支持的对象关键字的详细信息在每个命令中描述。
Synergy CLI 支持任何以下格式的高级关键字:
%{keywordspec}
%{keywordspec:-substitutionstring}
%{keywordspec:+substitutionstring}
其中 keywordspec 可以为这些格式中的任何格式:
propertyname
+propertyname
-propertyname
[objectkey]propertyname
+[objectkey]propertyname
-[objectkey]propertyname
propertyname[propertyformat]
+propertyname[propertyformat]
-propertyname[propertyformat]
[objectkey]propertyname[propertyformat]
+[objectkey]propertyname[propertyformat]
-[objectkey]propertyname[propertyformat]
在每种格式中,objectkey 指定要引用的对象,而 propertyname 是特性名,例如属性或 内置关键字。
propertyformat 指定将特性值转换为字符串然后将其格式化的方法。 请参阅特性格式化以获取更多信息。
使用 substitutionstring 的格式不管是否存在指定的属性或特性,都会采用扩展关键字的备用字符串字面值。
可选行距 + 或 - 指定缺省排列顺序。请参阅排序和分组以获取更多信息。
示例:
关键字 "%{release:-No release}" 表示对象的发布标识特性。如果该特性存在,那么将显示特性值。如果该特性不存在,那么将显示字符串 "No release"。
关键字 "%{[project]release[truncate='20']}" 表示与对象关联的项目的 release 特性。 如果该特性存在,那么将显示特性值,如果超过宽度 20,那么将采用省略号截断。
如果关键字引用对象的特性,那么将使用特性格式化选项将特性值将转换为字符串和格式化的特性。 例如,布尔属性将转换为表示布尔值 true 或 false 的字符串。如果未指定特性格式,那么特性值将转化为如下所示的字符串:
值类型 | 转换 |
---|---|
NULL | 对于多数命令来说,如果不存在指定的特性,那么显示 "<Not available>"。 |
布尔值 | 布尔值 true 显示为 "TRUE",而 false 显示为 "FALSE"。 |
字符串(字符串或文本属性) | 显示的字符串除去了结尾的换行符。 |
日期(时间属性) | 日期将转换为日期字符串。如果定义了 ccm.cli.format.date,那么将其作为日期格式字符串使用。如果未定义,那么使用语言环境中的缺省日期格式。 |
整型 | 整数显示为十进制整数字符串。 |
浮点型 | 浮点型显示为十进制浮点字符串。 |
集合 | 如果特性值是元素的集合,那么格式化的特性值由格式化为特性的元素组成,且每个元素用逗号隔开。 |
在关键字或列格式元素中,您可以指定其他控制以格式化每个特性值。可以通过指定由 0 个、1 个或更多个项目(以空格分隔)组成的 propertyformat 来执行此操作:
propertyFormatName=propertyFormatValue
propertyFormatName='singleQuotedPropertyFormatValue'
propertyFormatName="doubleQuotedPropertyFormatValue"
其中:
propertyFormatName 是支持的特性格式选项的名称。
propertyFormatValue 是不包含空格字符的值。该值必须由 Java™ 正则表达式定义的“词汇”字符组成。
singleQuotedPropertyFormatValue 是可以包含除单引号(撇号)之外的任何字符的字符串。
doubleQuotedPropertyFormatValue 是可以包含除双引号之外的任何字符的字符串。
示例
wrap=20 truncate=100
指定将该值截断为最多 100 个字符,而将字符换行以适应列宽 20。
Rational Synergy 支持以下这些特性格式名称:
在格式字符串中,您可以指定列格式元素以控制该列中的格式数据。如果指定列格式元素,那么使用其中指定的选项格式化整个列。列格式元素的格式采用如下所示:
%[propertyformat]
其中 propertyformat 是特性格式化中所描述的特性格式。
例如,考虑包含管道分隔符 | 的格式字符串 "%name|%[wrap=20]%version %{release[truncate=30]}"。该格式字符串由两列组成:
第一列包含关键字 %name。
第二列包含四个元素:
处理完第二列以后,显示的字符串将由以下方式决定:
发布特性值将根据要求转换为字符串。
-f|-format format 选项指定要使用的格式字符串。它可以使用任何全局格式化选项。如果省略,那么命令将使用特定于子命令的缺格式字符串。
如果在未指定排序或分组选项的情况下执行排序,那么多数命令采用缺省排序算法对报告的对象进行排序。如果更新了“选择”集,那么反映在已排序的输出中所报告的对象的顺序。
缺省排序算法使用格式字符串以及该格式字符串中的关键字应用的真实特性值。例如,如果对 Synergy 数据库中的对象使用格式字符串 "%create_time %release %displayname",您将看到以下排序:
缺省情况下,每个排序键都执行其特性值的升序排序。您可以通过使用以下其中一种高级键格式来更改。请参阅关键字以获取更多详细信息。例如,格式字符串 "%{-create_time} %{-release} %displayname" 排序使用:
对于按照自变量的指定顺序来处理自变量的命令,通常不执行排序,并且不支持任何关联的排序或分组选项。ccm properties 就是此类命令的一个例子。
-ns|-nosort 选项禁用所有配需和分组。使用该选项保持找到对象时的顺序。
-sby|-sortby sort_spec 选项指定基于格式字符串覆盖缺省排序算法的输出排序。 sort_spec 是一个或多个以下这些格式项的列表(带有可选的逗号分隔字符):
propertyname
+propertyname
-propertyname
[objectkey]propertyname
+[objectkey]propertyname
-[objectkey]propertyname
以 + 开头的项目用作升序排序键。以 - 开头的项目用作降序排序键。 不包含任何符号的项目用作升序排序键。
示例
以 create_time 为升序主键而 release 为升序辅键进行排序。
以 create_time 为降序主键而 release 为升序辅键进行排序。
以 release为升序主键而 create_time 为降序辅键进行排序。
请注意,sort_spec 中列出的特性不需要显示在格式字符串中。如果指定 -sby|-sortby,那么排序不依赖于格式字符串中引用的特性。
分组是另一种形式的排序。如果指定 -gby|-groupby groupformat 选项,那么 groupformat 格式字符串中指定的值将执行初始排序。在输出中,包含相同分组数据值集合的对象将放在一起,对象前面为组标题。组标题是通过扩展指定的 groupformat 格式字符串而构成的。请参阅格式字符串以获取更多信息。
例如,如果指定 -groupby "Release %release:",那么将发布特性值作为主键来对所有对象进行排序。主键优先于任何其他排序键。 例如,如果命令报告 5 个对象,而其中 2 个对象的发布标识值为 1.0,而另外 3 个对象的发布标识值为 2.0,那么对象分组为:
Release 1.0:
包含发布标识 1.0 的第一个对象
包含发布标识 1.0 的第二个对象
Release 2.0:
包含发布标识 2.0 的第一个对象
包含发布标识 2.0 的第二个对象
包含发布标识 2.0 的第三个对象
如果同时使用分组和配需,那么首先使用 groupformat 所指定的排序键,然后使用 sort_spec 指定的排序键,如果未指定,那么使用 format 字符串。 例如,如果指定 -groupby "Release %release:" -sortby create_time,那么将发布标识作为升序主键而 create_time 作为升序辅键进行排序。
请参阅格式化用法示例中的第二示例,以获取关于分组、排序和列标题的具体示例。
列标题是从格式字符串衍生而来的标题字符串。 它们是输出中每个列上面的标题。例如,如果指定格式字符串 "%name %release %create_time",那么第一列、第二列和第三列各自的列标题分别为 Name、Release 和 Create_time。
请参阅格式化用法示例中的第二示例,以获取关于分组、排序和列标题的具体示例。
指定对输出使用列标题。该选项不能与
-nf|-noformat 选项一起使用。
缺省设置是不使用列标题。
指定输出不使用列标题。 这是多数命令的缺省设置。
Synergy 数据库中输出表示对象而且将缺选择集合缺省设置为使用已编号输出的命令。编号反映使用查询选择集引用格式引用此对象所使用的选择集合引用号。
该选项指定输出不编号。该选项不影响输出排序或生成的选择集合。
对象名可以包含字母数字和符号的任意组合,但受限字符除外。
以下是 Rational Synergy 对象的一些命名限制。
下表显示其他受限字符以及受限的原因。
字符 | 受限原因 |
---|---|
/ | UNIX 路径定界符;内部定界符 |
\ | Windows 路径定界符;转义字符 |
' | UNIX 引用字符(前引号) |
" | Windows 引用字符 |
: | Windows 盘符定界符;Rational Synergy 对象规范定界符 |
? | INFORMIX 单字符通配符;正则表达式 |
* | INFORMIX 多字符通配符;正则表达式 |
[ | INFORMIX 匹配语法;正则表达式 |
] | INFORMIX 匹配语法;正则表达式 |
@ | Rational Synergy 对象规范定界符 |
- | Rational Synergy 版本定界符 |
您不能将以下这些字符用作对象名的首字符: