Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Filtern der Betriebsbefehlsausgabe

Mit dem Pipe-Symbol | können Sie (der Netzwerkadministrator) die Befehlsausgabe sowohl im Betriebs- als auch im Konfigurationsmodus filtern.

Informationen zur Verwendung der Pipe ( | ) Ausgabe des Befehls "Symbol zum Filtern"

Sie können die Befehlsausgabe filtern, indem Sie bei der Eingabe des Befehls das Pipe-Symbol ( | ) hinzufügen.

Beispiel:

Im folgenden Beispiel sind die Filter aufgeführt, die Sie mit dem Pipe-Symbol ( | ) verwenden können:

Nur für den show configuration Befehl können Sie das Pipe-Symbol und das Fragezeichen kombinieren, um einen zusätzlichen Vergleichsfilter anzuzeigen:

Sie können jeden der Rohrfilter in Kombination eingeben. Zum Beispiel:

Anmerkung:

In diesem Thema werden nur die Filter beschrieben, die Sie für die Ausgabe von Befehlen im Betriebsmodus verwenden können.

Beispiel: Verwenden Sie reguläre Ausdrücke mit dem senkrechten Strich ( | ) Ausgabe des Befehls "Symbol zum Filtern"

Sie verwenden die exceptFilter , findund match mit dem Pipe-Symbol, um reguläre Ausdrücke zum Filtern der Ausgabe zu verwenden. Juniper Networks verwendet die regulären Ausdrücke, wie sie in POSIX 1003.2 definiert sind. Wenn ein regulärer Ausdruck Leerzeichen, Operatoren oder Platzhalterzeichen enthält, schließen Sie den Ausdruck in Anführungszeichen ein.

Tabelle 1: Allgemeine Operatoren für reguläre Ausdrücke in Befehlen im Betriebsmodus

Operator

Funktion

|

Gibt an, dass es sich bei einer Übereinstimmung um einen der beiden Begriffe auf beiden Seiten der Pipe handeln kann.

^

Wird am Anfang eines Ausdrucks verwendet, um anzugeben, wo eine Übereinstimmung beginnen soll.

$

Wird am Ende eines Ausdrucks verwendet, um anzugeben, dass ein Begriff bis zum Punkt des $-Zeichens genau übereinstimmen muss.

[ ]

Gibt einen Bereich von Buchstaben oder Ziffern an, die übereinstimmen sollen. Um den Anfang und das Ende eines Bereichs zu trennen, verwenden Sie einen Bindestrich ( - ).

( )

Gibt eine Gruppe von Begriffen an, die übereinstimmen sollen.

Wenn ein Befehl z. B. die folgende Ausgabe erzeugt:

Ein Pipe-Filter von | match "PIC" zeigt die folgende Ausgabe an:

Ein Pipe-Filter von | except "PIC" zeigt die folgende Ausgabe an:

Beispiel: Pipe ( | ) Filterfunktionen in der Befehlszeilenschnittstelle

In diesem Thema werden die Pipe-Filterfunktionen ( | ) beschrieben und Beispiele dafür bereitgestellt, die von der Junos OS Evolved CLI unterstützt werden.

Beispiele für Konfigurationen und ihre Unterschiede im Text

Der compare Filter vergleicht die Kandidatenkonfiguration entweder mit der aktuellen festgeschriebenen Konfiguration oder mit einer Konfigurationsdatei. Außerdem werden die Unterschiede zwischen den beiden Konfigurationen mit Textzeichen angezeigt.

Um Konfigurationsdateien zu vergleichen, geben Sie nach dem Pipe-Symbol ( | ) Folgendes ein compare :

Die rollback n Variable ist der Index in der Liste der zuvor festgeschriebenen Konfigurationen. Die zuletzt gespeicherte Konfiguration ist 0. Wenn Sie keine Argumente angeben, wird die Kandidatenkonfiguration mit der aktiven Konfigurationsdatei (/config/juniper.conf) verglichen, was dem Vergleich mit rollback Index 0 entspricht.

Der vollständige Pfad (oder URL) zu einer Konfigurationsdatei lautet filename.

Für die Vergleichsausgabe werden die folgenden Konventionen verwendet:

  • Anweisungen, die sich nur in der Kandidatenkonfiguration befinden, wird ein Pluszeichen (+) vorangestellt.

  • Anweisungen, die nur in der Vergleichsdatei enthalten sind, wird ein Minuszeichen (–) vorangestellt.

  • Anweisungen, die unverändert bleiben, wird ein einzelnes Leerzeichen ( ) vorangestellt.

Beispiel:

Wir haben die Ausgabe des show | compare Befehls verbessert, um Konfigurationsänderungen genauer widerzuspiegeln. Diese Erweiterung beinhaltet eine intelligentere Handhabung von Auftragsänderungen in Listen. Betrachten Sie z. B. Gruppennamen, die wie folgt neu angeordnet sind:

In früheren Versionen sah die Ausgabe des show | compare Befehls wie folgt aus:

Die Ausgabe des show | compare Befehls sieht nun wie folgt aus:

Beispiele für Konfigurationen und ihre Unterschiede in XML

Der compare | display xml Filter vergleicht die Kandidatenkonfiguration mit der aktuellen festgeschriebenen Konfiguration und zeigt die Unterschiede zwischen den beiden Konfigurationen in XML an. Um Konfigurationen zu vergleichen, geben Sie nach dem Pipe-Symbol ( | ) entweder im Betriebs- oder Konfigurationsmodus ein compare | display xml .

Beispiel im Betriebsmodus:

Beispiel im Konfigurationsmodus:

Sie können eine bestimmte Konfigurationshierarchie eingeben, bevor Sie den | compare Befehl verwenden. Im Konfigurationsmodus können Sie zu einer Hierarchie navigieren, auf die der Befehl angewendet wird.

Beispiel für das Zählen der Anzahl der Ausgabezeilen

Um die Anzahl der Zeilen in der Befehlsausgabe zu zählen, geben Sie nach dem Pipe-Symbol ( | ) ein count . Zum Beispiel:

Beispiel für eine Ausgabe, die im XML-Tag-Format angezeigt wird

Um die Befehlsausgabe im XML-Tag-Format anzuzeigen, geben Sie nach dem Pipe-Symbol ( | ) ein display xml .

Im folgenden Beispiel wird die show cli directory Befehlsausgabe als XML-Tags angezeigt:

Wenn die Konfigurationsdaten oder die Befehlsausgabe Zeichen enthalten, die außerhalb des 7-Bit-ASCII-Zeichensatzes liegen, zeigt die CLI die entsprechende UTF-8-Dezimalzeichenreferenz für diese Zeichen in der XML-Ausgabe an.

Beispiel für die Anzeige statischer Konfigurationsdaten

Sie können die geerbten Konfigurationsdaten und Informationen über die Quellgruppe, von der die Konfiguration geerbt wurde, in Bezug auf die statische Konfigurationsdatenbank anzeigen. Um diese Daten anzuzeigen, geben Sie den show configuration | display inheritance Befehl ab.

Beispiel für die Anzeige der Ausgabe im JSON-Format

Sie können die Konfigurations- oder Befehlsausgabe im JSON-Format (JavaScript Object Notation) anzeigen, indem Sie nach dem Pipe-Symbol ( | ) eingeben display json .

Im folgenden Beispiel wird die show cli directory Befehlsausgabe im JSON-Format angezeigt:

Wenn die Ausgabe des Betriebsbefehls Zeichen enthält, die außerhalb des 7-Bit-ASCII-Zeichensatzes liegen, zeigt die CLI die entsprechende UTF-8-Dezimalzeichenreferenz für diese Zeichen in der JSON-Ausgabe an.

Beispiel für die Anzeige der Konfiguration mit angewendeten YANG-Übersetzungsskripten

Sie können YANG-Module auf Geräte laden, auf denen Junos OS Evolved ausgeführt wird, um die Konfigurationshierarchie mit Datenmodellen zu erweitern, die Junos OS Evolved nicht nativ unterstützt. Junos OS Evolved unterstützt die Übersetzung dieser Modelle. Die aktiven Konfigurationen und Kandidatenkonfigurationen enthalten die Konfigurationsdaten für nicht-native YANG-Datenmodelle in der Syntax, die durch dieses Modell definiert ist. In diesen Konfigurationen wird die entsprechende übersetzte Junos OS Evolved-Syntax nicht explizit angezeigt, für die ein Commit für eine vorübergehende Änderung ausgeführt wird.

Der | display translation-scripts Filter zeigt die vollständige Konfiguration nach der Vererbung an, wobei die übersetzten Konfigurationsdaten aus allen aktivierten Übersetzungsskripten explizit in der Ausgabe enthalten sind. Um die Konfiguration mit allen aktivierten angewendeten YANG-Übersetzungsskripten anzuzeigen, hängen Sie den | display translation-scripts Filter an den show configuration Befehl im Betriebsmodus oder den show Befehl im Konfigurationsmodus an. Zum Beispiel:

Um nach der Übersetzung nur die nicht nativen Konfigurationsdaten anzuzeigen, verwenden Sie den | display translation-scripts translated-config Filter entweder im Betriebsmodus oder im Konfigurationsmodus.

Im Konfigurationsmodus können Sie nur die Konfigurationsunterschiede in den Hierarchien anzeigen, die nicht-nativen YANG-Datenmodellen entsprechen, bevor oder nachdem Übersetzungsskripte angewendet werden. Um diese Unterschiede anzuzeigen, fügen Sie dem Befehl das Schlüsselwort show | display translation-scripts , translated-config bzwtranslated-delta. anconfigured-delta. In diesen Fällen werden in der XML-Ausgabe die gelöschten Konfigurationsdaten, gefolgt von den neuen Konfigurationsdaten, angezeigt.

Das folgende Beispiel zeigt eine Beispielkonfiguration mit und ohne angewendete Übersetzungsskripts. Der show Befehl zeigt die Konfiguration an, die die nicht nativen Konfigurationsdaten in der Syntax enthält, die das YANG-Datenmodell definiert. Der | display translation-scripts Filter zeigt die nicht nativen Konfigurationsdaten sowohl in der durch das YANG-Datenmodell definierten Syntax als auch in der übersetzten Junos OS Evolved-Syntax an. Beide Befehle zeigen die gesamte Konfiguration an, die in diesem Beispiel aus Gründen der Kürze abgeschnitten wurde. Der show Befehl gibt jedoch die Konfiguration vor der Inhärtitanz zurück, während der show | display translation-scripts Befehl die Konfiguration nach der Vererbung zurückgibt.

Beispiel für die Anzeige der RPC-Tags für einen Befehl

Um die XML-Tags für den Remoteprozeduraufruf (Remote Procedure Call, RPC) für einen Betriebsmodusbefehl anzuzeigen, geben Sie nach dem Pipe-Symbol ( | ) ein display xml rpc .

Im folgenden Beispiel werden die RPC-Tags für den show route Befehl angezeigt:

Beispiel für das Ignorieren einer Ausgabe, die nicht mit einem regulären Ausdruck übereinstimmt

Um Text zu ignorieren, der mit einem regulären Ausdruck übereinstimmt, geben Sie den except Befehl nach dem senkrechten Strichsymbol ( | ) an. Wenn der reguläre Ausdruck Leerzeichen, Operatoren oder Platzhalterzeichen enthält, schließen Sie ihn in Anführungszeichen ein.

Im folgenden Beispiel werden alle Benutzer angezeigt, die am Router angemeldet sind, mit Ausnahme des Benutzers root:

Beispiel für die Anzeige der Ausgabe der ersten Übereinstimmung eines regulären Ausdrucks

Um die Ausgabe ab dem ersten Vorkommen von Text anzuzeigen, der einem regulären Ausdruck entspricht, geben Sie nach dem Pipe-Symbol ( | ) ein find . Wenn der reguläre Ausdruck Leerzeichen, Operatoren oder Platzhalterzeichen enthält, schließen Sie ihn in Anführungszeichen ein.

Im folgenden Beispiel werden die Routen in der Routingtabelle ab IP-Adresse 208.197.169.0angezeigt:

Das folgende Beispiel zeigt den ersten CCC-Eintrag in der Weiterleitungstabelle:

Beispiel für die Beibehaltung der Ausgabe nach dem letzten Bildschirm

Sie können die Ausgabe beibehalten und scrollen oder durchsuchen, indem Sie sie gedrückt halten, anstatt sofort zur CLI-Eingabeaufforderung zurückzukehren, nachdem Sie den letzten Ausgabebildschirm angezeigt haben. Um die Ausgabe beizubehalten, geben Sie nach dem Pipe-Symbol ( | ) ein hold . Im folgenden Beispiel wird verhindert, dass Sie zur CLI-Eingabeaufforderung zurückkehren, nachdem Sie den letzten Bildschirm der Ausgabe des show log log-file-1 Befehls angezeigt haben:

Beispiel für die Anzeige der Ausgabe beginnend mit den letzten Einträgen

Sie können Protokolldateien anzeigen, in denen das Ende der Datei die neuesten Einträge enthält. Um den Text ab dem Ende der Ausgabe anzuzeigen, geben Sie nach dem Pipe-Symbol ( | ) ein last <lines> .

Im folgenden Beispiel werden die letzten Einträge in der Datei log-file-1 angezeigt:

Anmerkung:

Wenn die Anzahl der angeforderten Zeilen kleiner ist als die Anzahl der Zeilen, die die Einstellung für die Bildschirmlänge zulässt, gibt das System eine Teilmenge zurück. Das System gibt so viele Zeilen zurück, wie es die eingestellte Bildlänge zulässt. Das heißt, wenn Ihre Bildlänge auf 20 Zeilen eingestellt ist und Sie nur die letzten 10 Zeilen angefordert haben, gibt das System die letzten 19 Zeilen statt der letzten 10 Zeilen zurück.

Beispiel für die Anzeige einer Ausgabe, die einem regulären Ausdruck entspricht

Um eine Ausgabe anzuzeigen, die einem regulären Ausdruck entspricht, geben Sie nach dem Pipe-Symbol ( | ) ein match regular-expression . Wenn der reguläre Ausdruck Leerzeichen, Operatoren oder Platzhalterzeichen enthält, schließen Sie ihn in Anführungszeichen ein.

Das folgende Beispiel stimmt mit allen 10-Gigabit-Ethernet-Schnittstellen (xe) in der Konfiguration überein:

Beispiel für das Verhindern der Paginierung der Ausgabe

Wenn die Ausgabe länger als die Länge des Terminalbildschirms ist, erhalten Sie standardmäßig eine ---(more)--- Meldung, um die verbleibende Ausgabe anzuzeigen. Um die verbleibende Ausgabe anzuzeigen, drücken Sie die Leertaste.

Um zu verhindern, dass die Ausgabe paginiert wird, geben Sie nach dem Pipe-Symbol ( | ) ein no-more .

Im folgenden Beispiel wird die Ausgabe des show configuration Befehls auf einmal angezeigt:

Diese Funktion ist nützlich, wenn Sie die gesamte Ausgabe kopieren und in eine E-Mail-Nachricht einfügen möchten.

Beispiel für das Senden einer Befehlsausgabe an andere Benutzer

Um die Befehlsausgabe auf dem Terminal eines bestimmten Benutzers, der an Ihrem Router angemeldet ist, oder auf den Terminals aller an Ihrem Router angemeldeten Benutzer anzuzeigen, geben Sie nach dem Pipe-Symbol ( | ) einrequest terminalmessage (all | user @account).

Wenn Sie eine Fehlerbehebung an Ihrem Router durchführen und mit einem Kundendienstmitarbeiter telefonieren, können Sie die Befehlsausgabe freigeben. Sie verwenden den request message Befehl, um Ihrem Support-Techniker die Befehlsausgabe zu senden, die Sie gerade auf Ihrem Terminal anzeigen.

Im folgenden Beispiel wird die Ausgabe des Befehls, den show interfaces Sie in Ihrem Terminal eingeben, an das Terminal des Benutzers root@ttyp1gesendet:

Dem Benutzer root@ttyp1 wird die folgende Ausgabe auf dem Terminalbildschirm angezeigt:

Beispiel für das Auflösen von IP-Adressen

Wenn die Ausgabe eines Befehls nur im Betriebsmodus eine nicht aufgelöste IP-Adresse anzeigt, können Sie nach dem Befehl den Namen eingeben | resolve , der der IP-Adresse zugeordnet ist. Der resolve Filter ermöglicht es dem System, einen Reverse-DNS-Lookup der IP-Adresse durchzuführen. Wenn DNS nicht aktiviert ist, schlägt die Suche fehl, und es wird keine Ersetzung durchgeführt.

Um eine Reverse-DNS-Suche einer nicht aufgelösten IP-Adresse durchzuführen, geben Sie nach dem Pipe-Symbol ( | ) ein resolve <full-names> . Wenn Sie die full-names Option nicht angeben, wird der Name gekürzt, damit er den für die IP-Adresse geltenden Einschränkungen der Feldbreite entspricht.

Im folgenden Beispiel wird eine DNS-Suche für alle nicht aufgelösten IP-Adressen in der Ausgabe des show ospf neighbors Befehls durchgeführt:

Beispiel für das Speichern der Ausgabe in einer Datei

Wenn die Befehlsausgabe lang ist, wenn Sie die Ausgabe speichern oder analysieren müssen oder wenn Sie die Ausgabe in einer E-Mail-Nachricht oder per FTP senden müssen, können Sie die Ausgabe in einer Datei speichern. Standardmäßig wird die Datei in Ihrem Home-Verzeichnis auf dem Router abgelegt.

Um die Befehlsausgabe in einer Datei zu speichern, geben Sie nach dem Pipe-Symbol ( | ) ein save filename .

Im folgenden Beispiel wird die Ausgabe des request support information Befehls in einer Datei mit dem Namen my-support-info.txt gespeichert:

Beispiel für das Anhängen der Ausgabe an eine Datei

Wenn die Befehlsausgabe angezeigt wird, können Sie die Ausgabe entweder in einer Datei speichern, wodurch der vorhandene Inhalt dieser Datei überschrieben wird, oder Sie können den Ausgabetext an eine bestimmte Datei anhängen.

Um die Befehlsausgabe an die Datei anzuhängen, geben append filename Sie nach dem Pipe-Symbol ( | ) ein.

Im folgenden Beispiel wird die Ausgabe des request support information Befehls an eine Datei mit dem Namen my-support-info.txt angehängt:

Beispiel für die Anzeige der Ausgabe auf dem Bildschirm und das Schreiben in eine Datei

Wenn die Befehlsausgabe angezeigt wird, können Sie die Ausgabe auch in eine Datei schreiben. Um die Ausgabe anzuzeigen und in eine Datei zu schreiben, geben Sie nach dem Pipe-Symbol (|) ein tee filename .

Im folgenden Beispiel wird die Ausgabe des show interfaces et-* terse Befehls (mit Informationen zum Status der Gigabit-Ethernet-Schnittstellen auf dem Gerät) angezeigt und die Ausgabe in eine Datei mit dem Namen et-interfaces.txt umgeleitet:

Im Gegensatz zum UNIX-Befehl tee wird nur eine Fehlermeldung angezeigt, wenn die Datei nicht geöffnet werden kann (anstatt die Ausgabe und dann die Fehlermeldung anzuzeigen).

Beispiel für das Kürzen der Ausgabe durch Angeben der Startspalte

Die Ausgabe wird auf dem Terminalbildschirm in Form von Zeilen und Spalten angezeigt. Das erste alphanumerische Zeichen, das auf der linken Seite des Bildschirms beginnt, befindet sich in Spalte 1, das zweite Zeichen in Spalte 2 usw. Um die Ausgabe ausgehend von einer bestimmten Spalte anzuzeigen (und damit den äußersten linken Teil der Ausgabe zu trimmen), geben Sie nach dem Pipe-Symbol ( | ) ein trim columns . Der trim Filter ist nützlich, um das Datum und die Uhrzeit vom Anfang von Systemprotokollmeldungen zu kürzen.

Im folgenden Beispiel wird die Ausgabe des show system storage Befehls angezeigt, wobei die ersten 10 Spalten herausgefiltert werden:

Anmerkung:

Der trim Befehl akzeptiert keine negativen Werte.

Beispiel für das Aktualisieren der Ausgabe eines Befehls

Sie können einen Betriebsmodusbefehl mit der | refresh Pipe-Option ausführen, um die auf dem Bildschirm angezeigte Ausgabe regelmäßig zu aktualisieren. Die Standardaktualisierung erfolgt jede Sekunde. Sie können jedoch auch explizit ein Aktualisierungsintervall zwischen 1 und 604.800 Sekunden angeben. Wenn Sie z. B. die Ausgabe des show interfaces Befehls alle 5 Sekunden aktualisieren möchten, führen Sie den folgenden Befehl aus:

Verwenden Sie den Suppress-Zero-Filter mit der Pipe ( | ) Symbol zum Filtern von Nullwerten in der Befehlsausgabe

Junos OS unterstützt suppress-zero Filter zum Ausschließen von Zeilen mit "0"-Werten für jedes der Felder in einer bestimmten Zeile. Diese Funktion ist für alle operativen show-Befehle verfügbar. Für die CLI-Ausgabe von show-Befehlen können Zeilen mit der Ausgabe von '0'-Werten maskiert werden. Die Ausgabezeilen mit Werten ungleich Null werden angezeigt. Sie können dies verwenden, um die Werte von Nullzählern zu maskieren. Wenn eine Zeile Werte ungleich Null zusammen mit '0'-Werten in einer Zeile enthält, wird sie nicht maskiert. Wenn "0" in einem Beschreibungs- oder Zeichenfolgenfeld angezeigt wird, wird es nicht maskiert und in der CLI-Ausgabe ausgegeben.

Anmerkung:

Diese Funktion gilt nur für CLI-Betriebsbefehle. Der suppress-zeros Filter gilt nicht für Befehle, die kein Rendering verwenden. Beispiel: show configuration, tracerouteund ping andere Monitorbefehle.

Hier sind ein paar Beispiele für die show-Befehle mit suppress-zeroes Filter:

  • Wenn ein Befehl z. B. die folgende Ausgabe erzeugt:

    Ein Pipe-Filter von | suppress-zeros zeigt die folgende Ausgabe an:

    In diesem Beispiel werden die Felder "Eingabepakete" und "Ausgabepakete" maskiert, da diese Felder ganzzahlige Werte vom Typ "0" enthalten.

  • Wenn ein Befehl die folgende Ausgabe erzeugt:

    Ein Pipe-Filter von | suppress-zeros zeigt die folgende Ausgabe an:

    In diesem Beispiel wird das Description Feld in der Ausgabe nicht maskiert, da es sich um einen Zeichenfolgentyp und eine Nicht-Ganzzahl handelt. Die Max nh cache: 75000, New hold nh limit: 75000, Curr nh cnt: 186, Curr new hold cnt: 0, NH drop cnt: 0 Zeile ist nicht maskiert, da sie ganzzahlige Zählerwerte ungleich Null enthält.