searchstr { such [ vk such ......] | (s-dat) }
such [col] [r] item
col Spaltenbereich, in dem die gesuchte Zeichenfolge beginnen muss.
:col1-col2: Das erste Zeichen der gesuchten Zeichenfolge muss im Spaltenbereich zwischen col1 und col2 beginnen.
:col1: Die Zeichenfolge wird nur an der angegebenen Spalte col1 gesucht und muss dort beginnen.
>:col1: | <:col1:
Die Zeichenfolge wird im Bereich ab Spalte col1 bis Satzende (>:col1:) bzw. vom Satzanfang bis Spalte col1 gesucht (<:col1:). Als Spalte kann auch eine Integervariable angegeben werden.
Standard: Suche in gesamten Spaltenbereich (von Spalte 1 bis Zeilenende).
r | < | -
> Suche nach einer Zeichenfolge  >  item
< Suche nach einer Zeichenfolge  <  item
- Suche nach einer Zeichenfolge ungleich item
Standard: Suche nach einer Zeichenfolge = item.
item Suchzeichenfolge:
C'string| A'string' oder V'string'  |  L'string'  |  stringvar
X'hex' |  U'1234'
C'string' kann zu 'string' abgekürzt werden.
'string' kann in den meisten Fällen auch ohne Hochkommas angegeben werden (on&s string). Die Hochkommas dürfen lediglich in den Fällen nicht weggelassen werden, in denen string Leerzeichen enthält bzw. wenn nach dem string ein weiterer Parameter folgt.
A'string' oder V'string'
Die Zeichenfolge wird unabhängig von der Klein-/ Großschreibung gesucht, auch wenn unter Optionen/Einstellungen/Suchen oder mittels des Kommandos SEARCH-OPTION die Option "Klein / Großschreibung beachten" aktiviert ist.
L' string ' Die Groß/Kleinschreibung wird beim Suchen beachtet, auch wenn unter Optionen/Einstellungen/Suchen oder mittels des Kommandos SEARCH-OPTION die Option "Klein / Großschreibung beachten" deaktiviert ist.
X'hex' Hexadezimal-Zeichenfolge
U'1234' Hexadezimal-Zeichenfolge im Unicode-Format. Jedes Zeichen besteht aus 4 Halbbytes. Normale ANSI-Zeichen enthalten im 1. Byte X'00' und im 2. Byte den ANSI-Wert.
1 1. Halbbyte des UNICODE-Zeichens
2 2. Halbbyte des UNICODE-Zeichens
3 3. Halbbyte des UNICODE-Zeichens
4 4. Halbbyte des UNICODE-Zeichens
Beispiel:
U'00300031' entspricht der Zeichenfolge '01'
U'20AC'     entspricht der Zeichenfolge '€'
Es ist zu beachten, dass die Bedeutung des Unicode-Strings U'1234' ab der Version 4.0 geändert wurde: Vor der Version 4.0 wurde ein Zeichen des U-Strings jeweils in ein UNICODE-Zeichen umgewandelt, z.B. U'0' wurde als X'0030' interpretiert. Siehe hierzu auch das Kommando SHOWNIL, das in der Version 3 zur Bearbeitung von UNICODE-Dateien zur Verfügung stand.
Enthält string Hochkommas ('), so müssen diese verdoppelt werden ('').
stringvar String-Variable #s1 - #s99, die eine Zeichenfolge enthalten. Es ist zu beachten, dass im Gegensatz zum Kommando ON...FIND eine Spaltenangabe nach der Stringvariablen nicht zulässig ist.
Eine Verkettung von Zeichenfolgen mit dem Operator "+", wie bei den sonstigen EDT-Kommandos ist nicht zulässig, weil das Zeichen "+" im Suchbegriff als Verknüpfungsoperator verwendet wird. Ebenfalls ist es nicht zulässig, eine Line-Variable oder eine Zeilennummer als Suchbegriff anzugeben.
vk | + | *
Verknüpfungsoperator mit dem vorausgegangenen Suchargument such.
, Suche das vorausgegangene oder das nachfolgende Suchargument. Die Suchbedingung gilt als erfüllt, wenn zumindest eines der beiden Such-Items enthalten ist.
+ Suche das vorausgegangene und das nachfolgende Suchargument. Die Suchbedingung ist erfüllt, wenn beide Suchargumente enthalten sind. Die Reihenfolge der Suchargumente in der Zeile ist ohne Bedeutung.
* Suche das vorausgegangene und das nachfolgende Suchargument. Die Suchbedingung ist erfüllt, wenn beide Suchargumente enthalten sind. Die Suchargumente müssen in der gleichen Reihenfolge auftreten, wie im Suche-Kommando angegeben.
Es können beliebig viele Konstrukte der Art vk such aneinandergereiht werden.
Hinweise:
Die Reihe der angegebenen Suchargumente und Verknüpfungsoperatoren wird linear abgearbeitet. Falls mehrere mit "+" bzw. "*" verknüpfte Suchargumente angegeben wurden und eines von ihnen nicht in der Zeile enthalten ist, so wird der Suchvorgang beendet bzw. beim nächsten, mit oder "," verknüpften Such-Item fortgesetzt.
Für jedes einzelne Suchargument such kann ein Spaltenbereich (:col1-col2: / :col: / >:col: / <:col:), eine Negativ-Bedingung ( -'item' ), sowie ein Such-Item in Normaldarstellung ( 'item' ), in hexadezimaler Darstellung ( X'item' ) oder ein Such-Item für das Ignorieren der Groß-/Kleinschreibung ( V'item' ) angegeben werden. Bei einem Such-Item in Normaldarstellung können die Hochkommas in der Regel sogar weggelassen werden. Durch das Kommando "on&sError*500" werden z.B. alle Datensätze gesucht, die die Zeichenfolge 'Error' und irgendwo danach die Zeichenfolge '500' enthalten.
(s-dat) Name einer Datei, in der die Suchbegriffe gespeichert sind.
Format der Datei s-dat:
Jeder Datensatz in s-dat beschreibt eine Suchbedingung, die mit der im nächsten Datensatz enthaltenen Suchbedingung verknüpft wird. Falls am Ende des Datensatzes keines der Verknüpfungszeichen ,/+/* angegeben wurde, so wird standardmäßig die Oder-Bedingung als Verknüpfung mit dem Suchbegriff im nächsten Datensatz angenommen. Innerhalb eines Datensatzes können mehrere Suchitems mit dem Oder-, Und-, Wildcard-Zeichen verknüpft werden.
Beispiele:
on&s'xyz'
Suche im gesamten Arbeitsbereich die Zeichenfolge 'xyz'.
s,'xyz'
Suche ab der ersten angezeigten Zeile bis zum Ende des Arbeitsbereichs Arbeitsbereich die Zeichenfolge 'xyz'.
on&s'c'' '''
Suche nach der Zeichenfolge C' ' im gesamten Arbeitsbereich (Hochkommas in dem zu suchenden String müssen verdoppelt werden).
set #i2=73
set #s2=' '
on&s:#i2:-#s2
Suche in Spalte 73 jeder Zeile nach einem Zeichen ungleich Blank. Zeilen mit weniger als 73 Stellen werden hier nicht als Treffer erkannt.
on10-20s:100-200:x'47'+:1-2:-'x'
Suche in den Zeilen 10 bis 20 jeweils im Spaltenbereich 100 - 200 nach X'47', in den Spalten 1-2 darf kein Zeichen 'x' vorkommen.
on&s'='*'(','DC '*'('*')'
Es werden alle Zeilen gesucht, die eine der beiden Bedingungen erfüllen:
· Zeichen '=' und irgendwann danach Zeichen '('. z.B. '=A(...)', '=V(...)'
· Zeichenfolge 'DC ' und irgendwo danach die Zeichen '(' und ')'.
z.B. 'DC A(...)', 'DC Y(...)'
on&s-'a'+-'b'+-'c'
Es werden alle Datensätze gesucht, die keinen der Kleinbuchstaben a, b oder c enthalten.
on&s,'a',>'a'+<'z','z'
Es werden alle Datensätze gesucht, die mindestens einen Kleinbuchstaben enthalten.
o&s(namen)
Es werden in der aktuellen Display-Datei alle Datensätze gesucht, die mindestens einen der in der Datei namen aufgeführten Suchbegriffe enthalten. Ein Suchbegriff wird durch einen Satz in der unten stehenden Datei festgelegt.
Die Datei namen habe folgenden Inhalt:
'ALBERT' 
'ANDREAS'
'AMADEUS'+'THEODOR'+'ERNST'
........
'CARL'*'PHILIP'*'EMANUEL'
Und-Verknüpfung ( + ): Ein Satz mit dem String 'AMADEUS' wird nur dann als Treffer gewertet, wenn im gleichen Satz auch die Strings 'THEODOR' und 'ERNST' enthalten sind. Die Reihenfolge der einzelnen Ausdrücke ist bei der Suche mit dem Verknüpfungszeichen '+' ohne Bedeutung. Ein Satz mit 'ERNST THEODOR AMADEUS' würde z.B. die Bedingung erfüllen.
Wildcard-Verknüpfung ( * ): Ein Satz mit dem String 'CARL' wird nur dann als Treffer gewertet, wenn im gleichen Satz an späterer Stelle die Strings 'PHILIP' und 'EMANUEL' enthalten sind.
Es ist möglich, die Suche jedes einzelnen Strings auf einen bestimmten Spaltenbereich zu begrenzen.