Kommando-Ausgaben gezielt nach einem String filtern
Komponente: | FIND-CMD-OUTPUT |
Funktionsbereich: | Kommandoverarbeitung |
Anwendungsbereich: | UTILITIES |
Privilegierung: | STD-PROCESSING TSOS HARDWARE-MAINTENANCE SAT-FILE-EVALUATION SAT-FILE-MANAGEMENT SECURITY-ADMINISTRATION |
Funktionsbeschreibung
Mit dem Kommando FIND-CMD-OUTPUT lässt sich die SYSOUT-Ausgabe von BS2000-Kommandos gezielt nach einem String filtern und gegebenenfalls nur die relevanten Zeilen der Ausgabe anzeigen. Die zu durchsuchenden Kommandos lassen sich direkt oder über eine Kommando-Datei angeben. Gültige Kommandos sind alle unter den vorliegenden Privilegien ausführbaren SDF-Kommandos SHOW* und LIST*, sowie das ISP-Kommando BCSHOW. Ausgenommen sind sämtliche SHOW-BCAM-INFO* Kommandos und die Kommandos SHOW-FILE und SHOW-SYSEVENT-LOG.
Zudem besteht die Möglichkeit, über FIND-CMD-OUTPUT die Ausgaben einer großen Menge vom System ausgewählter Kommandos nach einem String zu filtern, um einen Kommando-Namen zu einer gewünschten Ausgabe zu finden. Das System wählt dafür die Kommandos SHOW* und LIST* und deren Parameter, sodass unter den vorliegenden Privilegien und ohne Einwirkung des Benutzers (d.h. ohne explizite Parameterspezifikation) viel Information durchsucht werden kann.
Format
FIND-CMD-OUTPUT | Kurzname: FCMDO | ||||||||||||||||||||||||||||||||||||||||
|
Operandenbeschreibung
CMD = *SYSTEM(...) / *FROM-FILE / <c-string_1..1800>
Bestimmt die Kommandomenge, deren Ausgabe durchsucht werden soll.
CMD= *SYSTEM(...)
Bestimmt, dass die Ausgaben von vom System ausgewählten Kommandos durchsucht werden. Dies sind alle SHOW* und LIST* SDF-Kommandos mit Parameter-Kombinationen, welche ohne Einwirkung des Benutzers unter den vorliegenden Privilegien ausgeführt werden können. Falls möglich, wird für die Operanden der Parameter *ALL, *MAXIMUM oder *ANY gesetzt. Als Ausnahmen werden die Ausgaben der SHOW-BCAM-INFO* Kommandos und der Kommandos SHOW-INPUT-HISTORY, SHOW-FILE, SHOW-FILE-ATTRIBUTES, SHOW-FTP-TELNET-STATUS, SHOW-NET-STATISTICS, SHOW-POSIX-STATUS, SHOW-SYSEVENT-LOG und SHOW-VARIABLE-ATTRIBUTES nicht durchsucht.
INFORMATION = *MEDIUM / *MINIMUM / *MAXIMUM
Legt fest, ob Kommandos ohne Treffer und eventuelle Treffer-Zeilen mit angezeigt werden.
INFORMATION = *MEDIUM
Bestimmt, dass die Namen und Treffer-Zeilen der Kommandos mit Treffern in ihrer Ausgabe angezeigt werden.
INFORMATION = *MINIMUM
Bestimmt, dass die Namen der Kommandos mit Treffern in ihrer Ausgabe angezeigt werden.
INFORMATION = *MAXIMUM
Bestimmt, dass die Namen und Treffer-Zeilen aller Kommandos angezeigt werden, d.h. auch die Namen von Kommandos, in deren Ausgabe nichts gefunden wurde.
CMD= *FROM-FILE(...)
Legt fest, dass die Ausgaben aller Kommandos aus einer Datei durchsucht werden sollen. Dabei sind die folgenden Syntax-Regeln für Kommando-Dateien zu beachten.
Syntax einer Kommandodatei
Beginnt eine Zeile mit der Zeichenfolge ‚ /&* ‘, handelt es sich um eine Kommentarzeile. Jede andere Zeile wird als vollständiges Kommando interpretiert, welches in dieser Form ausgeführt und die so entstandene SYSOUT-Ausgabe nach dem Suchstring gefiltert wird.
Die Kommandos können mit oder ohne führenden Schrägstrich, mit oder ohne vorangestelltes Leerzeichen, sowie in einer Kurzform angegeben werden. Ebenso können Parameter für das Kommando spezifiziert werden, welche durch beliebig viele Leerzeichen voneinander getrennt werden können. Es gelten die allgemeinen SDF-Regeln für Zeilenfortsetzung.
Enthält die Kommando-Datei ein fehlerhaftes Kommando, wird beim Filtern der Ausgaben die Fehlermeldung zum Kommando ausgegeben. Alle korrekt ausführbaren Kommandos werden normal durchsucht.
Über das Kommando GENERATE-FIND-CMD-TEMPLATE (BS2000 V21 Kommandos, #222.5) lässt sich ein Template einer Kommando-Datei erzeugen.
FILE-NAME= list-possible(50): <filename_1..54_without-generation-version_with-wildcards>
Bestimmt die Datei mit den Kommandos, deren Ausgaben nach dem Such-String gefiltert werden.
INFORMATION = *MEDIUM / *MINIMUM / *MAXIMUM
Legt fest, ob Kommandos ohne Treffer und eventuelle Treffer-Zeilen mit angezeigt werden.
INFORMATION = *MEDIUM
Bestimmt, dass die Namen und Treffer-Zeilen der Kommandos mit Treffern in ihrer Ausgabe angezeigt werden.
INFORMATION = *MINIMUM
Bestimmt, dass die Namen der Kommandos mit Treffern in ihrer Ausgabe angezeigt werden.
INFORMATION = *MAXIMUM
Bestimmt, dass die Namen und Treffer-Zeilen aller Kommandos angezeigt werden, d.h. auch die Namen von Kommandos, in deren Ausgabe nichts gefunden wurde.
CMD= <c-string_1..1800>
Bestimmt das Kommando, dessen Ausgabe nach dem Such-String gefiltert werden soll. Es werden Kurzformen des Kommandos und Wildcards erkannt. Bei Verwendung von Wildcards werden alle passenden Kommandos in alphabetischer Reihenfolge durchsucht.
UPDATE-CMDS = *STD/ *YES
Mit CMD=* SYSTEM: Legt fest, ob die Auswahl der Kommandos, deren Ausgabe durchsucht wird, aktualisiert wird.
Mit CMD = <c-string_1..1800> oder CMD=*FROM-FILE: Legt fest, ob die Zusammenstellung der gültigen Kommandos aktualisiert wird.
UPDATE-CMDS = *STD
Die Kommandoauswahl wird nur bei erstmaligen Aufruf nach LOGON erstellt.
UPDATE-CMDS = *YES
Die Kommandoauswahl wird aktualisiert.
PATTERN= <c-string_1..1800 with-low>
Gibt den Such-String an, nach dem gefiltert wird.
PATTERN-TYPE = *STRING/ *REGULAR-EXPRESSION
Legt fest, wie der Such-String ausgewertet werden soll.
PATTERN-TYPE = *STRING
Die Kommando-Ausgabe wird nach dem angegebenen String gefiltert.
PATTERN-TYPE = *REGULAR-EXPRESSION
Die Kommando-Ausgabe wird nach dem als regulären Ausdruck angegebenen String gemäß POSIX-Regeln (siehe Handbuch „POSIX Kommandos“ [29], Kapitel 5.2) gefiltert.
OUTPUT = *SYSOUT/ <filename_1..54>
Gibt an, wohin die Information auszugeben ist.
OUTPUT = *SYSOUT
Die Ausgabe erfolgt in die Systemdatei SYSOUT.
OUTPUT = <filename_1..54>
Die Ausgabe erfolgt in eine Datei mit dem angegebenen Namen. Existiert bereits eine Datei mit dem angegebenen Namen, wird diese überschrieben.
Kommando-Returncode
(SC2) | SC1 | Maincode | Bedeutung |
---|---|---|---|
0 | CMD0001 | Kommando ausgeführt | |
1 | CMD0202 | Syntaxfehler im Kommando | |
32 | FND0001 | Interner Fehler | |
01 | FND1001 | Kommando &00 unbekannt / ungültig / mit Fehler beendet (&01) | |
01 | FND1002 | Parameter-Fehler. Operand FILE-NAME ist fehlerhaft | |
64 | FND0002 | SYSOUT ist bei Kommandoaufruf auf eine Variable gesetzt |
Beispiele
Beispiel 1: Filtern der Ausgabe eines bestimmten Kommandos nach einem String
/FIND-CMD-OUTPUT CMD='SHOW-LINE-ATTRIBUTES',PATTERN='LINE-NAME'
Kommando: SHOW-LINE-ATTRIBUTES (SHLNA) Such-String: LINE-NAME LINE-NAME : L#MANLO1 LINE-NAME : L#MANLO2
Beispiel 2: Suchen nach einem Kommando, mit dem ein gewünschter String angezeigt werden kann
/FIND-CMD-OUTPUT CMD=*SYSTEM(INFORMATION=*MINIMUM),PATTERN='LANGUAGE'
Such-String: LANGUAGE Kommando: SHOW-MSG-FILE-ASSIGNMENT *ALL , INFORMATION= *ALL Kommando: SHOW-USER-ATTRIBUTES , SELECT= *ALL
/FIND-CMD-OUTPUT CMD=*SYSTEM(INFORMATION=*MEDIUM),PATTERN='LANGUAGE'
Such-String: LANGUAGE Kommando: SHOW-MSG-FILE-ASSIGNMENT *ALL , INFORMATION= *ALL SYSTEM LANGUAGES : ED TASK LANGUAGE : D TASK SEARCH : *ALL Kommando: SHOW-USER-ATTRIBUTES , SELECT= *ALL DEFAULT-MSG-LANGUAGE TEMP-SPACE-LIMIT 2147483547