Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

过滤操作命令输出

管道 | 符号允许您(网络管理员)在操作和配置模式下过滤命令输出。

关于使用管道 ( | )用于过滤命令输出的符号

您可以通过在输入命令时添加竖线 ( ) | 符号来过滤命令输出。

示例:

下面的示例列出了可用于管道符号 ( | ) 的筛选器:

show configuration仅对于命令,您可以组合管道符号和问号以显示其他比较筛选器:

您可以组合输入任何管道过滤器。例如:

注:

本主题 介绍可用于 操作模式命令 输出的筛选器。

示例:对管道使用正则表达式 ( | )用于过滤命令输出的符号

将 、 findmatch筛选器与管道符号一起使用except,以使用正则表达式来筛选输出。瞻博网络使用 POSIX 1003.2 中定义的正则表达式。如果正则表达式包含空格、运算符或通配符,请用引号将表达式括起来。

表 1: 操作模式命令中的常用正则表达式运算符

操作人员

功能

|

指示匹配可以是管道两侧的两个术语之一。

^

在表达式的开头用于表示匹配的开始位置。

$

用于表达式的末尾,表示术语必须完全匹配到 $ 字符的点。

[ ]

指定要匹配的字母或数字范围。若要分隔范围的开头和结尾,请使用连字符 ( - )。

( )

指定要匹配的一组术语。

例如,如果命令生成以下输出:

| match "FPC-1" 管道过滤器显示以下输出:

| except "FPC 1" 管道过滤器显示以下输出:

示例:管道 ( | )筛选命令行界面中的函数

本主题介绍并提供 CLI 支持的管道 ( | ) 筛选器函数 Junos OS 的示例。

配置示例及其文本差异

compare筛选器将候选配置与当前提交的配置或配置文件进行比较。它还用文本字符显示两种配置之间的差异。

要比较配置文件,请在竖线 ( | ) 符号后输入 compare ,如下所示:

rollback n 变量是以前提交的配置列表的索引。最近保存的配置为 0。如果未指定参数,则将候选配置与活动配置文件 ()/config/juniper.conf 进行比较,这与与索引 0 进行比较 rollback 相同。

配置文件的完整路径(或 URL)为 filename

比较输出使用以下约定:

  • 仅候选配置中的语句以加号 (+) 为前缀。

  • 仅在比较文件中的语句以减号 (–) 为前缀。

  • 未更改的语句以单个空格 ( ) 为前缀。

示例:

我们增强了命令的 show | compare 输出,以更准确地反映配置更改。此增强功能包括更智能地处理列表中的订单更改。例如,考虑按如下方式重新排序的组名:

在早期版本中,命令 show | compare 的输出如下所示:

现在,命令 show | compare 的输出如下所示:

XML 中的配置及其差异的示例

筛选器将 compare | display xml 候选配置与当前提交的配置进行比较,并以 XML 格式显示两种配置之间的差异。要比较配置,请在操作模式或配置模式下在竖线 (|) 符号后输入 compare | display xml

操作模式下的示例:

配置模式下的示例:

您可以在使用 | compare 命令之前输入特定的配置层次结构。在配置模式下,您可以导航到应用命令的层次结构。

计算输出行数的示例

要计算命令输出中的行数,请在管道符号 ( | ) 后输入 count 。例如:

以 XML 标记格式显示的输出示例

要以 XML 标记格式显示命令输出,请在竖线符号 ( | ) 后输入 display xml

以下示例将 show cli directory 命令输出显示为 XML 标记:

如果配置数据或命令输出包含 7 位 ASCII 字符集之外的字符,CLI 将在 XML 输出中为这些字符显示等效的 UTF-8 十进制字符引用。

显示静态配置数据的示例

您可以查看继承的配置数据和有关从中继承配置的源组的信息,相对于静态配置数据库而言。要查看此数据,请发出 show configuration | display inheritance 命令。

显示临时配置数据的示例

瞻博网络扩展工具包 (JET) 应用程序、网络配置协议 (NETCONF) 和 Junos XML 协议客户端应用程序可以配置临时配置数据库。临时数据库是一种备用配置数据库,它提供用于执行配置更新的快速编程接口。

要查看与临时数据库所有实例中的配置数据合并的完整继承后配置,请使用 show ephemeral-configuration merge 命令。

以 JSON 格式显示输出的示例

您可以通过在管道符号 (|) 后输入 display json ,以 JavaScript 对象表示法 (JSON) 格式显示配置或命令输出。

以下示例以 JSON 格式显示 show cli directory 命令输出:

如果操作命令输出包含 7 位 ASCII 字符集之外的字符,CLI 将在 JSON 输出中为这些字符显示等效的 UTF-8 十进制字符引用。

显示应用了 YANG 翻译脚本的配置的示例

您可以将 YANG 模块加载到正在运行 Junos OS 的设备上,以使用本机不支持的数据 Junos OS 模型扩充配置层次结构。 Junos OS 确实支持这些模型的转换。活动配置和候选配置采用该模型定义的语法包含非本机 YANG 数据模型的配置数据。这些配置不会显式显示相应的已转换 Junos OS 语法,该语法作为瞬时更改提交。

| display translation-scripts筛选器显示完整的继承后配置,输出中显式包含所有已启用翻译脚本的已转换配置数据。要显示应用了所有已启用 YANG 转换脚本的配置,请将过滤器附加到| display translation-scriptsshow configuration操作模式下的命令或show配置模式下的命令。例如:

要在转换后仅查看非本机配置数据,请在操作模式或配置模式下使用 | display translation-scripts translated-config 筛选器。

在配置模式下,您可以只显示应用翻译脚本之前或之后与非本机 YANG 数据模型对应的层次结构中的配置差异。要显示这些差异,请分别将 show | display translation-scripts or translated-delta 关键字追加configured-delta到命令中。在这两种情况下,XML 输出都显示已删除的配置数据,后跟新的配置数据。

以下示例显示应用和未应用翻译脚本的示例配置。该 show 命令将显示配置,其中包括 YANG 数据模型定义的语法中的非本机配置数据。筛选器以 | display translation-scripts YANG 数据模型定义的语法和转换后的 Junos OS 语法显示非本机配置数据。这两个命令都显示整个配置,为简洁起见,此示例已将其截断。但是,该 show 命令返回固有之前的配置,而 show | display translation-scripts 命令返回继承后的配置。

显示命令的 RPC 标记的示例

若要显示 操作模式命令的远程过程调用 (RPC) XML 标记,请在竖线符号 (|) 后输入 display xml rpc

以下示例显示命令的 show route RPC 标记:

忽略与正则表达式不匹配的输出的示例

要忽略与正则表达式匹配的文本,请在竖线符号 ( | ) 后指定 except 命令。如果正则表达式包含任何空格、运算符或通配符,请用引号将其括起来。

以下示例显示已登录到路由器的所有用户(用户 root除外):

显示正则表达式的第一个匹配项的输出的示例

要显示从与正则表达式匹配的文本的第一次出现开始的输出,请在竖线符号 ( | ) 后输入 find 。如果正则表达式包含任何空格、运算符或通配符,请用引号将其括起来。

以下示例显示路由表中从 IP 地址 208.197.169.0开始的路由:

以下示例显示转发表中的第一个 CCC 条目:

在最后一个屏幕之后保留输出的示例

您可以保留输出并滚动或搜索它,方法是在查看最后一个输出屏幕后按住而不是立即返回到 CLI 提示符。要保留输出,请在管道符号 ( | ) 后输入 hold 。以下示例可防止在查看命令输出 show log log-file-1 的最后一个屏幕后返回到 CLI 提示符:

显示从最后一项开始的输出的示例

您可以查看日志文件,其中文件末尾包含最新条目。要显示从输出末尾开始的文本,请在竖线符号 ( | ) 后输入 last <lines>

下面的示例显示文件中的最后一个条目 log-file-1

注:

当请求的行数小于屏幕长度设置允许您显示的行数时,系统将返回子集。系统返回屏幕长度设置允许的行数。也就是说,如果您的屏幕长度设置为 20 行,并且您只请求了最后 10 行,则系统将返回最后 19 行而不是最后 10 行。

显示与正则表达式匹配的输出的示例

要显示与正则表达式匹配的输出,请在竖线符号 (|) 后输入 match regular-expression 。如果正则表达式包含任何空格、运算符或通配符,请用引号将其括起来。

以下示例匹配配置中的所有异步传输模式 (ATM) 接口:

防止输出被分页的示例

默认情况下,如果输出长于终端屏幕的长度,您将收到一条 ---(more)--- 消息以显示剩余输出。要显示剩余的输出,请按空格键。

要防止输出被分页,请在管道符号 ( | ) 后输入 no-more

以下示例一次性显示命令的所有 show configuration 输出:

如果要复制整个输出并将其粘贴到电子邮件中,此功能非常有用。

向其他用户发送命令输出的示例

要在登录到路由器的特定用户的终端上或在登录到路由器的所有用户的终端上显示命令输出,请在管道符号 ( | ) 后输入 request message (all | user account@terminal)

如果您正在对路由器进行故障排除并通过电话与客户服务代表交谈,则可以共享命令输出。您可以使用命令向 request message 代表发送您当前在终端上查看的命令输出。

以下示例将您在终端上输入的命令的 show interfaces 输出发送到用户的 root@ttyp1终端:

用户 root@ttyp1 会看到终端屏幕上出现以下输出:

解析 IP 地址的示例

仅在操作模式下,如果命令输出显示未解析的 IP 地址,则可以在命令后输入 | resolve 以显示与该 IP 地址关联的名称。过滤器 resolve 使系统能够对 IP 地址执行反向 DNS 查找。如果未启用 DNS,则查找将失败,并且不会执行替换。

要对未解析的 IP 地址执行反向 DNS 查找,请在管道符号 ( | ) 后输入 resolve <full-names> 。如果未指定该 full-names 选项,则名称将被截断,以适应适用于 IP 地址的任何字段宽度限制。

以下示例对命令输出 show ospf neighbors 中的任何未解析 IP 地址执行 DNS 查找:

将输出保存到文件的示例

当命令输出较长时、需要存储或分析输出时,或者需要通过电子邮件或 FTP 发送输出时,可以将输出保存到文件中。默认情况下,文件放置在路由器的主目录中。

要将命令输出保存到文件,请在竖线符号 ( | ) 后输入 save filename

下面的示例将命令的 request support information 输出保存到名为 my-support-info.txt:

将输出追加到文件的示例

显示命令输出时,可以将输出保存到文件以覆盖该文件的现有内容,也可以将输出文本追加到特定文件。

要将命令输出追加到文件中,请在竖线符号 (|) 后输入 append filename

下面的示例将命令的 request support information 输出追加到名为 my-support-info.txt:

在屏幕上显示输出和写入文件的示例

显示命令输出时,还可以将输出写入文件。要同时显示输出并将其写入文件,请在管道符号 (|) 后输入 tee filename

以下示例显示命令的 show interfaces ge-* terse 输出(显示有关设备上千兆以太网接口状态的信息),并将输出转移到名为 ge-interfaces.txt的文件:

与 UNIX tee 命令不同,如果无法打开文件,则仅显示错误消息(而不是显示输出,然后显示错误消息)。

通过指定起始列来调整输出的示例

输出以行和列的形式显示在终端屏幕上。从屏幕左侧开始的第一个字母数字字符位于第 1 列中,第二个字符位于第 2 列中,依此类推。要显示从特定列开始的输出(从而修剪输出的最左侧部分),请在管道符号 (|) 后输入 trim columns 。筛选器 trim 可用于从系统日志消息的开头修剪日期和时间。

下面的示例显示命令的 show system storage 输出,筛选出前 10 列:

注:

trim 命令不接受负值。

刷新命令输出的示例

您可以使用管道选项运行操作模式命令 | refresh ,以定期刷新屏幕上显示的输出。默认刷新每秒发生一次。但是,您也可以显式指定从 1 到 604,800 秒的刷新间隔。例如,若要每 5 秒刷新一次命令的 show interfaces 输出,请运行以下命令:

过滤 QFabric 系统中的操作模式命令输出

在 QFabric 系统中发出操作模式命令时,由于系统中包含的组件数量众多,生成的输出可能会相当广泛。若要使输出更易于访问,可以通过将选项附加到 | filter 大多数命令的末尾来筛选输出。

  1. 要筛选操作模式命令输出并将其限制为 Node 组,请在操作模式命令末尾包含该 | filter node-group node-group-name 选项。例如:
  2. 要筛选操作模式命令输出并将其限制为一组节点组,请在操作模式命令末尾包含 | filter node-group 该选项,并在括号中指定节点组名称列表。例如:

对管道使用抑制零过滤器 ( | )用于过滤命令输出中的零值的符号

Junos OS 支持 suppress-zero 过滤器排除给定行中任何字段值为“0”的行。此功能可用于所有操作 show 命令。对于 show 命令 CLI 输出,可以屏蔽输出值为“0”的行。将显示具有非零值的输出线。您可以使用它来屏蔽零计数器的值。如果一行中有非零值以及一行中的“0”值,则不会屏蔽它。如果描述或字符串字段中出现“0”,则不会屏蔽,而是在 CLI 输出中发出。

注:

此功能仅适用于 CLI 操作命令。筛选器 suppress-zeros 不适用于不使用呈现的命令。例如、 show configuration和其他 tracerouteping 监视器命令。

以下是带有过滤器的 suppress-zeroes show 命令的几个示例:

  • 例如,如果命令生成以下输出:

    | suppress-zeros 管道过滤器显示以下输出:

    在此示例中,输入数据包和输出数据包字段被屏蔽,因为这些字段包含“0”整数值。

  • 如果命令生成以下输出:

    | suppress-zeros 管道过滤器显示以下输出:

    在此示例中, Description 字段未在输出中屏蔽,因为它是字符串类型并且是非整数。该 Max nh cache: 75000, New hold nh limit: 75000, Curr nh cnt: 186, Curr new hold cnt: 0, NH drop cnt: 0 行不会被屏蔽,因为它包含非零整数计数器值。

变更历史表

是否支持某项功能取决于您使用的平台和版本。 使用 Feature Explorer 查看您使用的平台是否支持某项功能。

版本
说明
24.4R1
从 Junos OS 24.4R1 版开始,我们在[edit system export-format state-data json]层次结构级别弃用了compact该语句。
18.2R1
在 Junos OS 18.1 版及更早版本中,要查看与临时配置数据库所有实例中的配置数据合并的完整继承后配置,请使用 show ephemeral-configuration | display merge 命令。从 Junos OS 18.2R1 版开始,该 display merge 选项将被弃用。
17.3R1
从 Junos OS 17.3R1 版开始,OpenConfig 除了 XML 格式外,还支持守护程序直接以 JSON 格式发出的操作状态。要配置 JSON 压缩格式,请使用命令 set system export-format state-data json compact。此命令将 XML 格式转换为紧凑的 JSON 格式。否则,它会以非紧凑格式发出 JSON。
16.2R2
从 Junos OS 16.2R2 版开始, show | compare | display xml 如果比较未返回差异,或者比较仅返回非本机配置数据(例如,与 OpenConfig 数据模型关联的配置数据)的差异,则该命令将省略 <configuration> XML 输出中的标记。
16.2R2
从 Junos OS 16.2R2 版开始, show | compare | display xml 如果比较未返回差异,或者比较仅返回非本机配置数据(例如,与 OpenConfig 数据模型关联的配置数据)的差异,则该命令将省略 <configuration> XML 输出中的标记。
16.1
从 Junos OS 16.1 版开始,运行 Junos OS 的设备将使用新的默认序列化实现发出 JSON 格式的配置数据。
16.1
从 Junos OS 16.1 版开始,您可以将 YANG 模块加载到运行 Junos OS 的设备上,以使用 Junos OS 本身不支持但可通过转换支持的数据模型扩充配置层次结构。活动和候选配置采用非本机 YANG 数据模型定义的语法包含该模型的配置数据,但它们不会显式显示相应的已转换 Junos OS 语法,该语法作为瞬时更改提交。
14.2
从 Junos OS 14.2 版开始,您可以通过在管道符号 ( | ) 后输入 display json ( ) 以 JavaScript 对象表示法 (JSON) 格式显示配置或命令输出。
8.3
从 Junos OS 8.3 版开始,命令输出 show | compare 已得到增强,可以更准确地反映配置更改。这包括更智能地处理列表中的订单更改。