Допустим у нас имеется текстовый файл под названием "file.txt" со множеством текстовых строк.
Перед нами стоит задача найти в этом большом многострочном тексте только одну строку, в которой будет определённое указанное нами слово или словосочетание.

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

Для этого нам понадобится идентификаторы:

$read

для работы с текстом в файле

$read(filename, [-ntswrp], [matchtext], [N])

$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

Подпись автора

[html]<style>img {vertical-align:middle;}.hnet{color:#FFFFFF;}.hstar{color:#DE0000;}.htext{font-family:Verdana;font-size:13px;color:#6E1E00;}.heading{font-family:Verdana;font-size:13px;font-weight:bold;background-color:#4898CD;}.stitle{font-family:Verdana;font-size:12px;}.dot{color:#808000;}.desc{color:#B5B5B5;}a .curl{font-family:Verdana;font-size:12px;color:#3A92CD;}</style><table><tr><td width="20px" height="20px"><img src="https://forumstatic.ru/files/000d/c9/8c/34681.jpg"></td><td><a href="http://forum.epicnet.ru/viewtopic.php?id=234"><span class="heading"> <span class="hstar">★</span> <span class="hnet">EpicNet.Ru</span> <span class="hstar">★</span> </span><span class="htext"> - Российский IRC Чат © 2009-2020</span></a></td></tr><tr><td></td><td><div class="stitle"><span class="dot">•</span> <span class="desc">Онлайн:</span> <a href="http://chat.epicnet.ru"><span class="curl">http://chat.epicnet.ru</span></a><br><span class="dot">•</span> <span class="desc">Сервер:</span> irc.epicnet.ru <span class="desc">Порты:</span> 6667, 6668 (ssl) <span class="desc">Кодировка:</span> UTF-8<br><span class="dot">•</span> <span class="desc">Сайт:</span> <a href="http://epicnet.ru"><span class="curl">http://epicnet.ru</span></a> <span class="dot">•</span> <span class="desc">ВКонтакте:</span> <a href="https://vk.com/irc_epicnet"><span class="curl">https://vk.com/irc_epicnet</span></a><br><div></td></tr></table>[/html]