Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

操作コマンド出力のフィルタリング

パイプ | 記号を使用すると、ネットワーク管理者は、運用モードと設定モードの両方でコマンド出力をフィルタリングできます。

パイプ ( | ) の使用についてコマンド出力をフィルタリングするシンボル

コマンドを入力するときにパイプ( | )記号を追加することで、コマンド出力をフィルタリングできます。

例:

次の例は、パイプ記号 (|) で使用できるフィルターの一覧です。

show configurationコマンドの場合のみ、パイプ記号と疑問符を組み合わせて、追加の比較フィルターを表示できます。

任意のパイプ フィルターを組み合わせて入力できます。以下はその一例です。

注:

このトピックでは、操作モード・コマンド出力に使用できるフィルターについてのみ説明します。

例:パイプ (|) で正規表現を使用するコマンド出力をフィルタリングするシンボル

exceptfind、およびmatchフィルターをパイプ記号と共に使用して、正規表現を使用して出力をフィルタリングします。ジュニパーネットワークスは、POSIX 1003.2 に定義されている正規表現を使用します。正規表現にスペース、演算子、またはワイルドカード文字が含まれる場合は、表現を引用符で囲みます。

表 1: 動作モードコマンドの一般的な正規表現演算子

オペレータ

機能

|

パイプの両側にある2つの用語のいずれかに一致する可能性があることを示します。

^

式の先頭で使用され、一致を開始させる場所を示します。

$

式の末尾で使用し、$文字まで正確に一致させる必要があることを示します。

[ ]

一致させる文字または数字の範囲を指定します。範囲の開始と終了を区切るには、ハイフン ( - ) を使用します。

( )

一致させる語句のグループを指定します。

たとえば、コマンドが次の出力を生成するとします。

| match "FPC-1" のパイプ フィルターは、次の出力を表示します。

| except "FPC 1" のパイプ フィルターは、次の出力を表示します。

例:パイプ ( | )コマンド ライン インターフェイスのフィルター関数

このトピックでは、 Junos OS CLI がサポートするパイプ ( | ) フィルター関数について説明し、例を示します。

設定例とテキストの違い

compareフィルターは、候補となるコンフィギュレーションを、現在のコミットされたコンフィギュレーションまたはコンフィギュレーション・ファイルのいずれかと比較します。また、2 つの設定の違いをテキスト文字で表示します。

コンフィギュレーション・ファイルを比較するには、次のようにパイプ(|)記号の後に compare を入力します:

rollback n変数は、以前にコミットされたコンフィギュレーションのリストへのインデックスです。最後に保存された設定は 0 です。引数を指定しない場合、候補コンフィギュレーションはアクティブなコンフィギュレーション・ファイル(/config/juniper.conf)と比較されます。これは、インデックス 0 rollback と比較するのと同じです。

構成ファイルへの完全なパス (または URL) は filenameです。

比較出力では、次の規則を使用します。

  • 候補コンフィギュレーションのみに含まれるステートメントには、先頭にプラス記号(+)が付きます。

  • 比較ファイルのみに含まれるステートメントには、先頭にマイナス記号 (–) が付きます。

  • 変更されないステートメントには、1 つのブランク・スペース () が接頭部として付きます。

例:

show | compare コマンドからの出力を強化し、設定変更をより正確に反映できるようにしました。この機能強化には、リスト内の注文変更のよりインテリジェントな処理が含まれます。たとえば、次のように並べ替えられたグループ名について考えてみます。

初期のリリースでは、 show | compare コマンドからの出力は次のようになります。

これで、 show | compare コマンドからの出力は次のようになります。

XML での構成とその相違点の例

compare | display xmlフィルターは候補コンフィギュレーションを現在のコミットされたコンフィギュレーションと比較し、XMLでその2つのコンフィギュレーションの差異を表示します。コンフィギュレーションを比較するには、運用モードまたはコンフィギュレーション・モードで、パイプ(|)記号の後に compare | display xml を入力します。

運用モードでの例

コンフィギュレーションモードでの例

| compare コマンドを使用する前に、特定の設定階層を入力することができます。コンフィギュレーションモードでは、コマンドが適用される階層に移動できます。

出力行数のカウント例

コマンド出力の行数をカウントするには、パイプ記号(|)の後に count を入力します。以下はその一例です。

XMLタグ形式で表示される出力例

コマンド出力を XML タグ形式で表示するには、パイプ記号(|)の後に display xml を入力します。

以下の例では、 show cli directory コマンドの出力を XML タグとして表示します。

設定データまたはコマンド出力に 7 ビット ASCII 文字セット外の文字が含まれている場合、CLI は XML 出力でそれらの文字に相当する UTF-8 10 進文字参照を表示します。

静的設定データの表示例

継承された設定データと、静的設定データベースに関して、設定が継承された送信元グループに関する情報を表示できます。このデータを表示するには、 show configuration | display inheritance コマンドを発行します。

一時的な設定データを表示する例

Juniper Extension Toolkit(JET)アプリケーション、ネットワーク設定プロトコル(NETCONF)、Junos XMLプロトコルのクライアントアプリケーションは、一時的な設定データベースを設定できます。エフェメラル データベースは、構成の更新を実行するための高速なプログラム インターフェイスを提供する代替構成データベースです。

エフェメラル データベースのすべてのインスタンスの構成データとマージされた完全な継承後の構成を表示するには、 show ephemeral-configuration merge コマンドを使用します。

JSON 形式で出力を表示する例

パイプ記号( | )の後に display json を入力すると、設定またはコマンド出力を JavaScript Object Notation (JSON) 形式で表示できます。

以下の例は、 show cli directory コマンドの出力を JSON 形式で表示しています。

操作コマンドの出力に 7 ビット ASCII 文字セットの範囲外の文字が含まれている場合、CLI は JSON 出力でそれらの文字に相当する UTF-8 10 進文字参照を表示します。

YANG変換スクリプトを適用した状態での設定表示例

Junos OSを実行しているデバイスにYANGモジュールをロードして、Junos OSがネイティブにサポートしていないデータモデルで設定階層を拡張できます。 Junos OSこれらのモデルの変換をサポートしています。アクティブ・コンフィギュレーションと候補コンフィギュレーションには、非ネイティブのYANGデータ・モデルの設定データが、そのモデルで定義された構文で含まれています。これらの設定では、対応する変換された Junos OS 構文は明示的に表示されず、一時的な変更としてコミットされます。

| display translation-scriptsフィルターは、継承後の完全な設定を表示し、有効にされたすべての変換スクリプトからの変換された設定データが出力に明示的に含まれます。すべての有効なYANG変換スクリプトを適用した設定を表示するには、動作モードのshow configurationコマンドまたは設定モードのshowコマンドに| display translation-scriptsフィルターを追加します。以下はその一例です。

変換後に非ネイティブの設定データのみを表示するには、動作モードまたは設定モードで | display translation-scripts translated-config フィルターを使用します。

設定モードでは、変換スクリプトの適用前または適用後の非ネイティブ YANG データ モデルに対応する階層の設定差異のみを表示できます。これらの違いを表示するには、show | display translation-scripts コマンドにそれぞれ configured-delta キーワードまたは translated-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 command を指定します。正規表現にスペース、オペレーターまたはワイルドカード文字が含まれる場合は引用符で囲みます。

次の例では、ユーザ rootを除く、ルータにログインしているすべてのユーザを表示します。

正規表現の最初の一致からの出力を表示する例

正規表現に一致するテキストが最初に出現した時点から出力を表示するには、パイプ記号( | )の後に find を入力します。正規表現にスペース、オペレーターまたはワイルドカード文字が含まれる場合は引用符で囲みます。

次に、IP アドレス 208.197.169.0 から始まるルーティング テーブル内のルートを表示する例を示します。

以下の例では、転送テーブルの最初の CCC エントリを表示します。

最後の画面の後に出力を保持する例

出力の最後の画面を表示した後、すぐに CLI プロンプトに戻るのではなく、そのままにしておくことで、出力を保持したままスクロールまたは検索できます。出力を保持するには、パイプ記号 (|) の後に hold を入力します。以下の例では、 show log log-file-1 コマンドの出力の最後の画面を表示した後に CLI プロンプトに戻らないようにしています。

最後のエントリから始まる出力を表示する例

ファイルの末尾に最新のエントリが含まれているログ ファイルを表示できます。出力の末尾から始まるテキストを表示するには、パイプ記号( | )の後に last <lines> を入力します。

次に、 log-file-1 file の最後のエントリを表示する例を示します。

注:

要求された行数が、画面長設定で表示が許可されている行数より少ない場合、システムはサブセットを戻します。システムは、画面の長さの設定で許可されている数の行を返します。つまり、画面の長さが 20 行に設定されていて、最後の 10 行のみを要求した場合、システムは最後の 10 行ではなく最後の 19 行を返します。

正規表現に一致する出力を表示する例

正規表現に一致する出力を表示するには、パイプ記号(|)の後に match regular-expression を入力します。正規表現にスペース、オペレーターまたはワイルドカード文字が含まれる場合は引用符で囲みます。

次の例は、設定内のすべての非同期転送モード(ATM)インターフェイスに一致します。

出力がページ分割されないようにする例

デフォルトでは、出力が端末画面の長さよりも長い場合、残りの出力を表示するための ---(more)--- メッセージを受け取ります。残りの出力を表示するには、Space キーを押します。

出力にページ番号が付けられないようにするには、パイプ記号( | )の後に 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 番目の文字は列 2 にあります。特定の列から出力を表示する (したがって、出力の左端の部分をトリミングする) には、パイプ記号 (|) の後に trim columns を入力します。trimフィルターは、システムログメッセージの先頭からの日付と時刻をトリミングする場合に便利です。

次の例では、 show system storage コマンドの出力を表示し、最初の 10 列をフィルターで除外します。

注:

trim コマンドは負の値を受け入れません。

コマンドの出力をリフレッシュする例

| refresh パイプ・オプションを付けて操作モード・コマンドを実行し、画面に表示される出力を定期的にリフレッシュすることができます。既定の更新は 1 秒ごとに行われます。ただし、1 秒から 604,800 秒までのリフレッシュ間隔を明示的に指定することもできます。たとえば、 show interfaces コマンドの出力を 5 秒ごとに更新するには、次のコマンドを実行します。

QFabricシステムでの操作モードコマンド出力のフィルター

QFabric システムで 運用モード コマンドを発行すると、システムに含まれるコンポーネントの数が多いため、生成される出力はかなり広範囲になる可能性があります。出力にアクセスしやすくするために、ほとんどのコマンドの末尾に | filter オプションを追加して、出力をフィルター処理できます。

  1. 動作モードコマンドの出力をフィルタリングしてノードグループに制限するには、動作モードコマンドの最後に | 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 configurationtracerouteping 、その他の監視コマンドなどです。

以下に、 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以降、比較が差異を返還しない場合、もしくは、比較が非ネイティブデータの差異(例えばOpenConfigデータモデルと関連するコンフィギュレーションデータなど)のみを返還する場合、 show | compare | display xml コマンドは、XML出力での <configuration> タグを除外します。
16.2R2
Junos OSリリース16.2R2以降、比較が差異を返還しない場合、もしくは、比較が非ネイティブデータの差異(例えばOpenConfigデータモデルと関連するコンフィギュレーションデータなど)のみを返還する場合、 show | compare | display xml コマンドは、XML出力での <configuration> タグを除外します。
16.1
Junos OS リリース 16.1 以降、Junos OS を実行するデバイスは、シリアル化の新しいデフォルト実装を使用して、JSON 形式の設定データを出力します。
16.1
Junos OSリリース16.1以降、Junos OSが動作するデバイスにYANGモジュールをロードして、Junos OSではネイティブにサポートされていないが、翻訳によってサポートできるデータモデルで構成階層を拡張できます。アクティブおよび候補コンフィギュレーションには、非ネイティブのYANGデータ・モデルの設定データが、そのモデルで定義されたシンタックスで含まれていますが、対応する変換されたJunos OSシンタックスは明示的に表示されず、一時的な変更としてコミットされます。
14.2
Junos OS リリース 14.2 以降、パイプ記号(|)の後に display json を入力すると、設定またはコマンド出力を JavaScript Object Notation(JSON)形式で表示できます。
8.3
Junos OSリリース8.3以降、 show | compare コマンドからの出力が強化され、設定変更がより正確に反映されるようになりました。これには、リストの順序変更のよりインテリジェントな処理が含まれます。