Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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

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

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

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

例:

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

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

任意のパイプフィルターを組み合わせて入力できます。例えば:

注:

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

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

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

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

オペレーター

機能

|

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

^

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

$

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

[ ]

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

( )

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

たとえば、コマンドが次の出力を生成する場合:

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

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

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

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

設定例とテキストの違い

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

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

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

設定ファイルへのフルパス(または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 はそれらの文字に相当する UTF-8 10 進文字参照を XML 出力で表示します。

静的設定データの表示例

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

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

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

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

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

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 データモデルに対応する階層の設定差異のみを表示できます。これらの違いを表示するには、 configured-deltatranslated-config 、または translated-delta キーワードをそれぞれ show | display translation-scripts コマンドに追加します。このような場合、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 コマンドを指定します。正規表現にスペース、演算子、またはワイルドカード文字が含まれる場合は引用符で囲みます。

次の例では、ユーザー 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)--- メッセージが表示されます。残りの出力を表示するには、スペースキーを押します。

出力にページ番号が付けられないようにするには、パイプ記号 ( | ) の後に 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 フィルターは、システムログメッセージの先頭から日付と時刻をトリミングするのに役立ちます。

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

注:

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 およびその他の監視コマンドです。

フィルタを使用したshowコマンドの例 suppress-zeroes いくつか示します。

  • たとえば、コマンドが次の出力を生成する場合:

    パイプフィルターが | 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 Evolved リリース 24.4R1 以降、 [edit system export-format state-data json] 階層レベルでの compact ステートメントは非推奨になりました。