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 "PIC" の場合、次の出力が表示されます。

パイプ フィルターが | except "PIC" の場合、次の出力が表示されます。

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

このトピックでは、 Junos OS Evolved 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 コマンドを発行します。

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

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

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

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

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

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

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

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

設定モードでは、変換スクリプトの適用前または適用後の非ネイティブ YANG データ モデルに対応する階層の設定差異のみを表示できます。これらの違いを表示するには、show | display translation-scripts コマンドにそれぞれ configured-deltatranslated-config 、または translated-delta キーワードを追加します。このような場合、XML 出力には、削除された構成データが表示され、その後に新しい構成データが表示されます。

次の例は、変換スクリプトを適用した場合と適用しない場合の設定例を示しています。 show コマンドは、YANG データ モデルが定義する構文で非ネイティブ コンフィギュレーション データを含むコンフィギュレーションを表示します。 | display translation-scripts フィルターは、YANGデータモデルで定義された構文と、変換された Junos OS Evolved 構文の両方で、非ネイティブの設定データを表示します。どちらのコマンドも設定全体を表示しますが、この例では簡潔にするために省略しています。ただし、 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 ファイルの最後のエントリを表示する例を示します。

手記:

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

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

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

次の例は、設定内のすべての10ギガビットイーサネット(xe)インターフェイスを照合します。

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

デフォルトでは、出力が端末画面の長さよりも長い場合、残りの出力を表示するための ---(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 et-* terse コマンドの出力(デバイス上のギガビット イーサネット インターフェイスのステータスに関する情報を表示)を表示し、その出力を et-interfaces.txt というファイルに転送させる例を示します。

UNIX tee コマンドとは異なり、ファイルを開くことができない場合は、エラー メッセージのみが表示されます (出力とエラー メッセージを表示する代わりに)。

開始列を指定して出力をトリミングする例

出力は、行と列の観点から端末画面に表示されます。画面の左側から始まる最初の英数字は列 1 にあり、2 番目の文字は列 2 にあります。特定の列から出力を表示する (したがって、出力の左端の部分をトリミングする) には、パイプ記号 (|) の後に trim columns を入力します。 trim フィルターは、システムログメッセージの先頭からの日付と時刻をトリミングする場合に便利です。

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

手記:

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

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

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

パイプでゼロ抑制フィルターを使用する ( | )コマンド出力のゼロ値をフィルタリングするシンボル

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 行にはゼロ以外の整数カウンター値が含まれているため、マスクされません。