printf() Function (Python, SLAX, and XSLT)
命名 空间
http://xml.juniper.net/junos/commit-scripts/1.0 http://xml.libslax.org/slax
Python 语法
jcs.printf(expression)
SLAX 语法
expr prefix:printf(expression);
XSLT 语法
<xsl:value-of select="prefix:printf(expression)"/>
描述
生成格式化的输出文本。除了一些 Junos OS 特定的格式外,还支持大多数标准 printf
格式。该函数返回格式化的字符串,但不会在调用时打印。要使用以下 Junos OS 修改符,请将修改符放置在百分比符号 (%) 和转换指定符之间。
j1
-只有当字段从上次调用函数起发生变化时,才会发出该字段的运算符。这假定表达式的格式字符串不变。jc
-将相关输出字符串的第一个字母大写的运算符。jt{TAG}
-如果关联参数不为空,则发出标记的运算符。
与 prefix 命名空间 URI 关联的应在样式表的前缀到命名空间映射中定义。
参数
expression |
格式字符串,其中包含任意数量的格式指定符和要输出的关联参数。 |
使用示例
在以下示例中 j1
,操作员抑制在第二行输出中打印接口标识符 so-0/0/0,因为标识符参数没有从第一次打印更改。操作人员 jc
将输出字符串 up
和 down
。操作员 jt{--}
不会在第一行输出中打印 {--}
标记,因为关联的输出参数是空字符串。但是,由于关联的输出为非空字符串 test
,因此标记会印在第二行中。
<xsl:value-of select="jcs:printf('%-24j1s %-5jcs %-5jcs %s%jt{ -- }s\n', 'so-0/0/0', 'up', 'down', '10.1.2.3', '')"/> <xsl:value-of select="jcs:printf('%-24j1s %-5jcs %-5jcs %s%jt{ -- }s\n', 'so-0/0/0', 'down', 'down', '10.1.2.3', 'test')"/>
生成以下输出:
so-0/0/0 Up Down 10.1.2.3 Down Down 10.1.2.3 -- test
版本信息
在 Junos OS 7.6 版中引入的功能。
支持 Junos OS 12.2 版中 http://xml.libslax.org/slax 添加的 slax 命名空间。
QFX 系列交换机和 ACX 系列、MX 系列、PTX 系列和 T 系列路由器上 Junos OS 16.1R1 版中添加了对 Python 的支持。
在 Junos OS 17.1R1 版中添加了 ACX500、ACX1000、ACX1100、ACX2000、ACX2100、ACX2200 和 ACX4000 路由器以及 EX 系列交换机的 Python 支持。
在 Junos OS 17.3R1 版本中添加了对 SRX1500、SRX4100、SRX4200、SRX5400、SRX5600 和 SRX5800 设备和 vSRX 实例的 Python 支持。
ACX5048 和 ACX5096 路由器上 Junos OS 18.3R1 版中添加了对 Python 的支持。