Porthos Muster anleitung

Ursache-Wirkungs-Diagramme (Musterleitfäden zur Identifizierung von Folgen für Ereignisse und zur Identifizierung von Ereignissen, die Konsequenzen herbeiführten) Während die Kursteilnehmer ein Kapitel lesen, suchen sie nach den Ursachen-Wirkungs-Beziehungen, die im folgenden Diagramm aufgeführt sind. Ihre Aufgabe besteht darin, die Ursache-Wirkungs-Anweisungen zu vervollständigen, indem sie die Leerzeichen mit den entsprechenden Informationen ausfüllen. Die Unterausdrücke eines booleschen Operators in einem Muster können konstante reguläre Ausdrücke, Vergleiche oder andere @command-Awk-Ausdrücke sein. Bereichsmuster sind keine Ausdrücke, daher können sie nicht in booleschen Mustern angezeigt werden. Ebenso sind die speziellen Muster BEGIN und END, die nie mit einem Eingabedatensatz übereinstimmen, keine Ausdrücke und können nicht innerhalb boolescher Muster angezeigt werden. Eine regexp-Konstante als Muster ist auch ein Sonderfall eines Ausdrucksmusters. Der Ausdruck /foo/ hat den Wert 1, wenn `foo` im aktuellen Eingabedatensatz angezeigt wird. Daher entspricht /foo/ als Muster jedem Datensatz, der `foo` enthält. Vergleichsdiagramme (Musterhandbücher für Science-Compare/Contrast-Organisation) Es ist möglich, dass ein Muster durch denselben Datensatz ein- und ausgeschaltet wird. Wenn der Datensatz beide Bedingungen erfüllt, wird die Aktion nur für diesen Datensatz ausgeführt. Angenommen, es gibt Text zwischen zwei identischen Markern (z. B. das Symbol `%`), die jeweils in einer eigenen Zeile stehen und ignoriert werden sollten.

Ein erster Versuch wäre, ein Bereichsmuster zu kombinieren, das den abgegrenzten Text mit der nächsten Anweisung beschreibt (noch nicht besprochen, siehe Abschnitt Die nächste Anweisung). Dies führt dazu, dass @command `awk` jede weitere Verarbeitung des aktuellen Datensatzes überspringt und mit dem nächsten Eingabedatensatz von vorne beginnt. Ein solches Programm sieht so aus: Ein leeres (d. h. nicht vorhandenes) Muster wird als Match für jeden Eingabedatensatz betrachtet. Zum Beispiel das Programm: Alle bisher beschriebenen Muster sind für übereinstimmende Eingabedatensätze. Die speziellen Muster BEGIN und END unterscheiden sich. Sie stellen Start- und Bereinigungsaktionen für @command-Awk-Programme zur Verfügung. BEGIN- und END-Regeln müssen Aktionen haben; Es gibt keine Standardaktion für diese Regeln, da beim Ausführen kein aktueller Datensatz vorhanden ist. BEGIN- und END-Regeln werden von langjährigen Programmierern von @command als “BEGIN- und END-Blöcke” bezeichnet. Ein @command-Awk-Programm oder -Skript besteht aus einer Reihe von Regeln und Funktionsdefinitionen, die durchsetzt sind. (Funktionen werden später beschrieben.

Siehe Abschnitt Benutzerdefinierte Funktionen.) Eine Regel enthält ein Muster und eine Aktion, von denen beide (aber nicht beide) weggelassen werden können. Der Zweck der Aktion besteht darin, @command `awk` mitzuteilen, was zu tun ist, sobald eine Übereinstimmung für das Muster gefunden wurde. Daher sieht ein @command-Awk-Programm im Allgemeinen wie folgt aus: Eine bessere Methode besteht darin, die Variablenzuweisungsfunktion von @command zu verwenden (siehe Abschnitt Zuweisen von Variablen in der Befehlszeile), um den Wert der Shell-Variablen dem Wert einer @command-Awk-Variablen zuzuweisen. Verwenden Sie dann dynamische Regexps, um das Muster zu entsprechen (siehe Abschnitt Verwenden dynamischer Regexps). Im Folgenden wird gezeigt, wie Sie das vorherige Beispiel mit dieser Technik wiederholen: Dieses Programm schlägt fehl, da das Bereichsmuster durch die erste Zeile aktiviert und deaktiviert wird, die nur ein `%` enthält. Um diese Aufgabe zu erfüllen, schreiben Sie das Programm auf die folgende Weise, indem Sie ein Flag verwenden: Wie Sie bereits gesehen haben, besteht jede @command-Awk-Anweisung aus einem Muster mit einer zugeordneten Aktion. Dieser Hauptknoten beschreibt, wie Sie Muster und Aktionen erstellen, welche Arten von Dingen Sie in Aktionen ausführen können, und @command integrierten Variablen. @command-Awk-Programme werden häufig als Komponenten in größeren Programmen verwendet, die in der Shell geschrieben sind. Beispielsweise ist es sehr üblich, eine Shell-Variable zu verwenden, um ein Muster zu enthalten, nach dem das @command-Awk-Programm sucht. Es gibt zwei Möglichkeiten, den Wert der Shell-Variablen in den Text des Programms @command`awk`. Ein Bereichsmuster besteht aus zwei Mustern, die durch ein Komma in der Form `begpat, endpat` getrennt sind. Es wird verwendet, um Bereiche von aufeinander folgenden Eingabedatensätzen abzugleichen.

Das erste Muster, begpat, steuert, wo der Bereich beginnt, während endpat steuert, wo das Muster endet.

Comments are closed.