The
SEEK macro command finds one or more occurrences of a search string
without changing the exclude status of the line.
Syntax

Macro command syntax
.-.ZFIRST--.ZLAST-. .-NEXT--.
>>-ISREDIT--SEEK--string--+-----------------+--+-------+-------->
'-labela--labelb--' +-ALL---+
+-FIRST-+
+-LAST--+
'-PREV--'
.-CHARS--.
>--+--------+--+----+--+---------------------+-----------------><
+-PREFIX-+ +-X--+ +-start_col-----------+
+-SUFFIX-+ '-NX-' '-left_col--right_col-'
'-WORD---'
- string
- The search string you want to find. The maximum allowable length
of the string is 256 bytes. If you are specifying a hex string, the
maximum is 128 hexadecimal characters. See Finding, seeking, changing, and excluding data.
- labela, labelb
- Labels identifying the start and end of the group of lines SEEK
is to search.
If the cursor is currently placed above the start
label and the PREV occurrence of a string is requested, or the cursor
is currently placed below the end label and the NEXT occurrence of
a string is requested, the process returns a return code of 4 and
the string is not found, even if it exists within the label range.
For
more information about using labels to identify a group of lines,
see Labels and line ranges.
- NEXT
- Starts at the first position after the current cursor location
and searches ahead to find the next occurrence of string.
- ALL
- Starts at the top of the data and searches ahead to find all occurrences
of string.
- FIRST
- Starts at the top of the data and searches ahead to find the first
occurrence of string.
- LAST
- Starts at the bottom of the data and searches backward to find
the last occurrence of string.
- PREV
- Starts at the current cursor location and searches backward to
find the previous occurrence of string.
- CHARS
- Locates string anywhere the characters match.
- PREFIX
- Locates string at the beginning of a word.
- SUFFIX
- Locates string at the end of a word.
- WORD
- Locates string when it is delimited on both sides by blanks or
other non-alphanumeric characters.
- X
- Scans only lines that are excluded from the display.
- NX
- Scans only lines that are not excluded from the display.
- left_col
- The first column to be included in the range of columns SEEK is
to search.
- right_col
- The last column to be included in the range of columns SEEK is
to search.
Description
Use
the FIND macro command instead of SEEK if you want to locate a string
and change the exclude status of the line that contains that string
at the same time.
You
can use SEEK to find a search string, change it with CHANGE, and then
exclude it from the display with EXCLUDE.
To find the next
occurrence of the letters
ELSE without specifying
any other qualifications, include this line in an edit macro:
ISREDIT SEEK ELSE
Since
no other qualifications were specified, the letters
ELSE can
be:
- Uppercase or a mixture of uppercase and lowercase
- At the beginning of a word (prefix), the end of a word (suffix),
or the entire word (word)
- In either an excluded or a non-excluded line
- Anywhere within the current boundaries
To find the next occurrence
of the letters
ELSE, but only if the letters are
uppercase:
ISREDIT SEEK C'ELSE'
This
type of search is called a character string search (note the C that
precedes the search string) because it finds the next occurrence of
the letters ELSE only if the letters are in uppercase.
However, since no other qualifications were specified, the letters
can be found anywhere in the data set or member, as outlined in the
preceding list.
For more information, including other types
of search strings, see Finding, seeking, changing, and excluding data.
Return codes
- 0
- Normal completion
- 4
- String not found
- 12
- Syntax error
- 20
- Severe error
Examples
The example shown here finds the
last occurrence in the data set of the letters
ELSE.
However, the letters must occur on or between lines labeled .E and
.S; they must be the last four letters of a word; and they must be
found in an excluded line.
ISREDIT SEEK ELSE .E .S LAST SUFFIX X
The
example shown here finds the first occurrence of the letters
ELSE that
immediately precedes the cursor position. However, the cursor must
not be positioned ahead of the lines that are labeled .E and .S. Also,
the letters must occur on or between lines labeled .E and .S; they
must be stand-alone characters (not part of any other word); they
must be found in a non-excluded line; and they must exist within columns
1 and 5:
ISREDIT SEEK ELSE .E .S PREV WORD NX 1 5