Команда FIND контекстный поиск

Команда FIND (найти) входит в состав PC-DOS и MS-DOS начиная с версии 2.0. С ее помощью можно установить местонахождение нужной информации, задав контекст этой информации в качестве ключа поиска.
Используя данную возможность, а также механизм переадресации ввода-вывода и конвейерной обработки, командой FIND можно автоматически перекомпоновывать символьную информацию и формировать новые файлы, состоящие из фрагментов существующих файлов, получать справочную информацию из каталогов файлов по, практически, произвольным ключам доступа, осуществлять выборочный вывод символьных строк на печатающее устройство из одного или из группы файлов и некоторые другие операции.
Следует отметить, что команды-фильтры, механизм переадресации ввода-вывода и конвейерная обработка предоставляют пользователю большие возможности, которые в силу их многообразия нельзя описать полностью. Их выбор во многом определяется стилем работы и фантазией пользователя. В этой главе представлены возможности, применяемые наиболее часто.

НАЗНАЧЕНИЕ. Команда FIND выполняет контекстный поиск в заданном символьном файле (или группе файлов).

ОПИСАНИЕ. Команда FIND осуществляет контекстный поиск последовательно в каждом из указанных в командной строке файлов. При этом каждый файл просматривается построчно, что исключает возможность задания контекста, включающего элементы соседних строк. Информация о результатах поиска выводится на экран терминала. В случае необходимости вывод переадресовывают на любое другое устройство или в файл стандартными системными средствами переадресации ввода-вывода.
При использовании команды необходимо помнить:
-    применение шаблонов для задания имен файлов ("*" и "?") в командной строке запрещено (это ограничение существенно сужает возможности команды);
-    FIND заканчивает поиск при появлении в файле первого символа CTRL/Z.
Команда FIND внешняя, выполняется программой, загрузочный модуль которой содержится в файле FIND.EXE.

ФОРМАТ.
[маршрут] FIND [/V][/C][/N] "строка" [спец.файла ...]
Спецификация ё:маршрут - каталог, содержащий файл загрузочного модуля программы FIND. Она необходима, если этот каталог не текущий и не альтернативный.
Ключ /V устанавливает режим исключающего поиска, при котором на экран дисплея выводятся все те строки, которые не содержат заданную цепочку символов.
Ключ /С включает счетчик строк, содержащих заданную цепочку символов.
Ключ /N устанавливает режим вывода номеров строк (относительно начала файла) для каждой строки, содержащей указанную цепочку символов.
Параметр строка задает символьную константу - цепочку символов, поиск которой должен быть осуществлен в процессе выполнения команды. Цепочка символов берется в кавычках. Если символьная константа сама содержит знаки кавычек, то она помещается в дополнительные кавычки. Например, символьная строка "Внимание!" задается следующим образом:
""Внимание!"".
Параметр спец.файла - спецификация файла или последовательность спецификаций файлов, в которых осуществляется поиск заданной цепочки символов.
Каждая спецификация состоит из имени диска, маршрута, имени и расширения имени файла. Если спецификаций несколько, в командной строке они отделяются друг от друга пробелами.
Ключи /N и /V или /С и /V можно использовать совместно, однако при этом их не разделяют пробелами. Если ключи /N и / С заданы вместе, FIND игнорирует /N.
Следует отметить, что если в командной строке FIND не задан источник символьной информации, то по умолчанию принимается ввод с клавиатуры. Ввод каждой строки заканчивается нажатием клавиши ENTER. Процесс завершается вводом кода CTRL-Z, после которого тоже должна быть нажата клавиша ENTER. В этом режиме FIND ищет в каждой введенной строке контекст поиска, и если он содержится, строка выводится на экран.
Такой режим может, например, оказаться полезным при освоении клавиатуры в процессе отработки ввода какого-либо ограниченного набора клавиш, не глядя на клавиатуру. Задав в качестве контекста поиска окружение осваиваемой группы клавиш, а затем печатая и глядя на экран, можно сразу же обнаружить ввод ошибочного символа по выведенной FIND подсказке.

Пример 85. C:\PCC\T2\K2_2>find /с "FIND" g5.k22
    g5.k22: 17
С:\РСС\Т2\К2_2>

Пример 86.
C:\PCC\T2\K2_2>dir | find "-88"
COMMAND    COM    25308    2-02-88    12:00a
ANSI    SYS    1647    2-02-88    12:00a
EDLIN    COM    7495    2-02-88    12:00a
COUNTRY    SYS    11254    2-02-88    12:00a
DISPLAY    SYS    11259    2-02-88    12:00a
DRIVER    SYS    1165    2-02-88    12:00a
P    EXE    171077    8-04-88    ll:54p
EGA    CPI    49065    2-09-88    12:00a
KEYBOARD    SYS    19735    2-09-88    12:00a
RAMDRIVE    SYS    8225    2-09-88    12:00a
C:\PCC\T2\K2_2>

Замечания к примерам. В примере 85 поиск проводится в режиме подсчета количества строк, содержащих контекст. Пример 86 иллюстрирует возможность выбора из каталога файлов строк по произвольному ключу доступа.


Обсудить вопрос в студенческом форуме

 

Сайт содержит информацию о учебном заведении и студенческой общине и не является официальным