RLOCATE [sp1 [sp2]] [/kette/ [H] [I]] RLVerwandte Befehle: LOCATE, auch NLOCATE und RNLOCATE/NRLOCATE
Dieser Befehl dient dem rückwärtigen Suchen von Zeichenketten. Als
Parameter gibst du eine Zeichenkette an. Diese muss normalerweise von
zwei Begrenzern umgeben sein. Als Begrenzer wurde oben der Schrägstrich
angegeben (,,/
``), es ist aber jedes beliebige
Zeichen erlaubt. Als praktisch hat sich erwiesen, immer dasjenige
Sonderzeichen zu nehmen, das rechts unten auf der Tastatur liegt und nur
dann ein anderes, wenn das üblicherweise verwendete Zeichen Bestandteil
der zu suchenden Zeichenkette ist. Den Begrenzer am Ende der Suchkette
darfst du weglassen, wenn du den Rest der Eingabezeile frei lässt.
rlocate /abc/
abc
``,
rl -a/b-
a/b
``,
rl abc
bc
``, weil
,,a
`` der Anfangsbegrenzer ist und der
Endbegrenzer fehlt. rl abca würde
ebenfalls rückwärts nach der Zeichenkette ,,bc
``
suchen.
Bitte achte darauf, dass du beim Verketten mit anderen folgenden Befehlen den Endbegrenzer schreiben musst:
rl /abc/;-2
abc
`` und führt dann
den Befehl -2 aus, während
rl /abc ;-2
abc ;-2
`` suchen würde.
Die rückwärtige Suche beginnt in dem Satz vor dem mit der aktuellen Zeile.
Wird die Zeichenkette gefunden, so erscheint der Satz, in der sie vorkommt, in der aktuellen Zeile; der vom workfile gezeigte Ausschnitt wird also entsprechend verschoben.
Wird die Zeichenkette nicht gefunden, so erscheint die Meldung
Zeichenkette nicht gefunden: ...
Ist exaEdit beim rückwärtigen Suchen nach der Zeichenkette auch im ersten Satz des workfiles nicht fündig geworden, so wird normalerweise die rückwärtige Suche ab dem letzten Satz wieder aufgenommen, bis entweder ohne Erfolg der Ausgangssatz erreicht oder die Zeichenkette gefunden wurde. ,,Normalerweise`` bedeutet, dass der mit dem Befehl WRAP bediente Schalter auf ON steht.
Um anzuzeigen, dass die rückwärtige Suche ab dem Ende des workfiles weitergegangen ist, wird die Meldung
Suche ab Ende (wrap)
Gilt dagegen WRAP OFF, so endet die rückwärtige Suche spätestens im ersten workfile-Satz. War sie erfolglos, so werden die Meldungen
Datenanfang
Zeichenkette nicht gefunden: ...
Oft ist es erforderlich, ein und dieselbe Zeichenkette mehrfach zu suchen. In diesem Fall genügt die Eingabe von RLOCATE ohne Parameter: Dann wird automatisch die zuletzt verwendete Suchkette genommen.
Die Befehle RLOCATE, LOCATE, NLOCATE und RNLOCATE/NRLOCATE verwenden alle dieselbe Suchkette. Sie ist auch in allen workfiles dieselbe.
Normalerweise erstreckt sich die Suche auf den gesamten Bereich eines Satzes. Durch die Angabe von zwei Spalten als erste Parameter kannst du jedoch die Suche auf den angegebenen Bereich beschränken. Gefunden wird eine Zeichenkette nur dann, wenn sie vollständig im angegebenen Bereich liegt. Gibst du nur 1 Spalte an, so erstreckt sich der Suchbereich von dieser Spalte bis zum jeweiligen Satzende. Spalteneinschränkungen kannst du auch mit dem Befehl ZONE vornehmen, verwendest du beide Einschränkungen, so geht die im RLOCATE-Befehl vor.
Hast du RLOCATE schon benutzt und rufst es dann ohne Parameter auf, so gelten auch etwaige Spalteneinschränkungen weiter. Gibst du aber beim Aufruf eine neue Suchkette an, so gelten die in einem früheren Aufruf gemachten Spaltenbeschränkungen nicht mehr. Gibst du nach einem RLOCATE-Aufruf eines neues RLOCATE mit einer (neuen) Spaltenbeschränkung ein, so gilt weiter die alte Suchkette.
Mittels Angabe des Parameters
H
Ungerade Anzahl von Hex-Zeichen
Ungültiges Hex-Zeichen
rl /09/ h
I
rl /ab/ i
Wenn du den Parameter I öfters benutzen musst, kannst du auch mit dem Befehl CASE erreichen, dass der Parameter angenommen wird, ohne dass du ihn jedesmal angeben musst. Weitere Einzelheiten unter CASE.