Допустим у нас имеется текстовый файл под названием "file.txt" со множеством текстовых строк.

Перед нами стоит задача найти в этом большом многострочном тексте только одну строку, в которой будет определённое указанное нами слово или словосочетание.

Допустим это словосочетание для поиска будет "мой автомобиль"

Для этого нам понадобится идентификаторы $read - для работы с текстом и $readn - для определения номера строки.

Итак, давайте попробуем написать код для примера:

Код:
alias searchword {
  var %str $1-
  var %path file.txt
  if ($read(%path, -w, * %str *)) {
    var %r $readn | /echo -a Номер строки: %r Текст: $read(%path,%r)
  }
  elseif ($read(%path, -w, * $+ %str $+ *)) {
    var %r $readn | /echo -a Номер строки: %r Текст: $read(%path,%r)
  }
  else { /echo -a Словосочетание: $qt(%str) - нигде не найдено. }
}

Теперь давайте разберём этот скрипт по частям:

  • По команде "/searchword мой автомобиль" срабатывает скрипт.

  • Создаются две переменные %str - со значением вашего словосочетания для поиска и %path - со значением пути к файлу.

  • Если (if) искомое словосочетание найдено с пробелами до и после (* %str *), то "/echo" покажет номер строки и саму строку, где было найдено ваше словосочетание.

  • Или, если (elseif) словосочетание найдено с любыми символами до и после (* $+ %str $+ *), то "/echo" также покажет номер строки и саму строку.

  • Иначе (else) будет объявлено, что это словосочетание не найдено.

  • Символ "|" это разделитель между строками кода, где в данном случае сначала создаётся переменная %r с номером найденной строки, а потом выполняется команда "/echo".

Для более подробной информации по работе с идентификатором $read смотрите mIRC справочник, который поставляется вместе с установленным клиентом.
Или можете найти справку на официальном сайте клиента в Index разделе: https://www.mirc.com/help/mirc.html