LOCATE [sp1 [sp2]] [/kette/ [H] [I]] LVerwandte Befehle: RLOCATE, auch NLOCATE und RNLOCATE/NRLOCATE
LOCATE dient dem 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 Zeichen, wenn das üblicherweise verwendete Bestandteil
der zu suchenden Zeichenkette ist. Den Begrenzer am Ende der Suchkette
darfst du weglassen, wenn du den Rest der Eingabezeile frei lässt.
locate /abc/
abc
``,
l -a/b-
a/b
``,
l abc
bc
``, weil
,,a
`` der Anfangsbegrenzer ist und der Endbegrenzer
fehlt. l abca würde ebenfalls nach der Zeichenkette
,,bc
`` suchen.
Bitte achte darauf, dass du beim Verketten mit anderen folgenden Befehlen den Endbegrenzer schreiben musst:
l /abc/;-2
abc
`` und führt dann den Befehl
-2 aus, während
l /abc ;-2
abc ;-2
`` suchen würde.
Die Suche beginnt in dem Satz nach 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 Suchen nach der Zeichenkette auch im letzten Satz des workfiles nicht fündig geworden, so wird normalerweise die Suche ab dem ersten 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 Suche ab dem Anfang des workfiles weitergegangen ist, wird die Meldung
Suche ab Anfang (wrap)
Gilt dagegen WRAP OFF, so endet die Suche spätestens im letzten workfile-Satz. War sie erfolglos, so werden die Meldungen
Datenende
Zeichenkette nicht gefunden: ...
Oft ist es erforderlich, ein und dieselbe Zeichenkette mehrfach zu suchen. In diesem Fall genügt die Eingabe von LOCATE ohne Parameter: Dann wird automatisch die zuletzt verwendete Suchkette genommen.
Die Befehle LOCATE, RLOCATE, 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 LOCATE-Befehl vor.
Hast du LOCATE 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 LOCATE-Aufruf eines neues LOCATE 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
locate /09/ h
I
locate /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).