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 "PIC" 过滤器显示以下输出:

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

示例:管道 ( | )命令行界面中的过滤器功能

本主题介绍并提供 Junos OS 演化版 CLI 支持的管道 ( | ) 过滤器函数的示例。

配置示例及其在文本中的差异

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

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

rollbackn变量是先前提交的配置列表中的索引。最近保存的配置为 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

以 JSON 格式显示输出的示例

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

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

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

显示应用了 YANG 转换脚本的配置的示例

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

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

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

在配置模式下,在应用转换脚本之前或之后,只能显示与非本机 YANG 数据模型相对应的层次结构中的配置差异。要显示这些差异,请分别将 、 或关键字configured-delta附加到命令中show | display translation-scriptstranslated-delta translated-config在这些情况下,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 。如果正则表达式包含任何空格、运算符或通配符,请用引号将其括起来。

以下示例匹配配置中的所有 10 千兆以太网 (xe) 接口:

防止对输出进行分页的示例

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

要防止对输出进行分页,请在竖线符号 ( | ) 之后输入 no-more

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

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

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

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

如果您正在对路由器进行故障排除并通过电话与客户服务代表交谈,您可以共享命令输出。您可以使用该 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 et-* terse (显示有关设备上千兆以太网接口状态的信息),并将输出转移到名为 et-interfaces.txt 的文件中:

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

通过指定起始列来修剪输出的示例

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

以下示例显示命令的 show system storage 输出,过滤掉前 10 列:

注意:

命令 trim 不接受负值。

刷新命令输出的示例

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

将抑制零滤波器与管道一起使用 ( | )在命令输出中过滤零值的符号

Junos OS 支持 suppress-zero 过滤器,用于排除给定行中任何字段值为“0”的行。此功能适用于所有作 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 行未被屏蔽,因为它包含非零整数计数器值。

变更历史表

是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。

发布
描述
24.4R1-EVO
从 Junos OS 演化版 24.4R1 版开始,我们已弃用层 compact 次结构级别的 [edit system export-format state-data json] 该语句。