NLOCATE [sp1 [sp2]] [/kette/ [H] [I]] NLVerwandte Befehle: RNLOCATE/NRLOCATE, auch LOCATE und RLOCATE
NLOCATE dient dem Aufsuchen der nächsten Zeile, die die angegebene Zeichenkette nicht enthält. 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.
nlocate /abc/
nl -a/b-
nl abc
Bitte achte darauf, dass du beim Verketten mit anderen folgenden Befehlen den Endbegrenzer schreiben musst:
nl /abc/;-2
nl /abc ;-2
Die Suche beginnt in dem Satz nach dem mit der aktuellen Zeile.
Wird die jeweils nächste Zeile gefunden, die die angegebene Zeichenkette nicht enthält, so erscheint diese in der aktuellen Zeile; der vom workfile gezeigte Ausschnitt wird also entsprechend verschoben.
Wird keine Zeile ohne die Zeichenkette gefunden, so erscheint die Meldung
Zeichenkette in allen Zeilen: ...
Hat exaEdit beim Suchen nach der Zeichenkette diese auch im letzten Satz des workfiles gefunden, so wird normalerweise die Suche ab dem ersten Satz wieder aufgenommen, bis entweder ohne Erfolg der Ausgangssatz erreicht oder eine Zeile ohne 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, also die Zeichenkette in allen durchsuchten Zeilen vorhanden, so werden die Meldungen
Datenende
Zeichenkette in allen Zeilen: ...
Oft ist es erforderlich, ein und dieselbe Zeichenkette mehrfach zu suchen. In diesem Fall genügt die Eingabe von NLOCATE ohne Parameter: Dann wird automatisch die zuletzt verwendete Suchkette genommen.
Die Befehle NLOCATE, RNLOCATE/NRLOCATE, LOCATE und RLOCATE 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 Zeile nur dann, wenn sich die angegebene Suchkette nicht vollständig im angegebenen Bereich befindet. 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 NLOCATE-Befehl vor.
Hast du NLOCATE 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 NLOCATE-Aufruf eines neues NLOCATE 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
nl /09/ h
I
nl /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.