Dieses Format der @ON-Anweisung bewirkt, dass die Zeile bzw. der Inhalt einer Zeichenfolgevariablen, die den Suchbegriff enthalten, gelöscht wird. Zeichenfolgevariablen werden in diesem Falle wieder mit einem Leerzeichen initialisiert und erhalten den Zeichensatz EDF041
.
Operation | Operanden | F-Modus, L-Modus |
@ON | { lines | svars } [,...] [:cols[:] ] FIND [ALL] [F] [R] [NOT] [PATTERN] search [,int] DELETE |
lines svars | Einer oder mehrere Zeilenbereiche, in denen gesucht werden soll. Einer oder mehrere Bereiche von Zeichenfolgevariablen, in denen gesucht |
cols | Zusammenhängender Spaltenbereich, auf den die Suche eingeschränkt Enthält die Bereichsangabe nur eine einzelne Spaltenangabe, so wird damit Wird kein Spaltenbereich angegeben, wird der mit @SEARCH-OPTION |
ALL | Die Angabe ist zulässig, aber ohne Bedeutung, da eine Zeile nach dem |
F | Nur die erste Trefferzeile jedes angegebenen Zeilenbereiches wird |
R | Die Angabe ist ohne Bedeutung, da es nicht von der Suchrichtung abhängt, |
NOT | Eine Zeile wird gelöscht, wenn im angegebenen Spaltenbereich einer Zeile |
PATTERN | Die im Suchbegriff vorkommenden Musterzeichen werden interpretiert. |
search | Suchbegriff, der im Suchbereich aufgefunden werden soll (Details siehe |
int | Erst das |
Wird die Anweisung mit [K2] unterbrochen und der EDT-Lauf mit /INFORM-PROGRAM
fortgesetzt, so wird die Bearbeitung der Anweisung abgebrochen und die Meldung EDT5501
ausgegeben.
Hinweis
Sollen in einem Bereich alle Leerzeilen (Sätze der Länge 0) gelöscht werden, kann dies mit der Anweisung @ON lines FIND NOT PATTERN '/' DELETE geschehen, wenn '/'
das Musterzeichen ist, das für genau ein beliebiges Zeichen steht.
Beispiel
In der gesamten Arbeitsdatei sollen alle Zeilen gelöscht werden, in denen die Zeichenfolge ABC
mindestens dreimal auftritt.
Die Zeilen 1, 2 und 3 wurden gelöscht. Anschließend sollen in der gesamten Arbeitsdatei alle Zeilen gelöscht werden, in denen hinter Spalte 7 das Zeichen A
auftritt.
Zeile 4 wurde gelöscht. Anschließend sollen in der gesamten Arbeitsdatei alle Zeilen gelöscht werden, in der zwei aufeinander folgende Leerzeichen ’'BLANK''BLANK'
’ auftreten.
Zeile 5 wurde gelöscht.