Skip to content
Alexey Shumkin edited this page Jun 21, 2019 · 1 revision

Table of Contents

Действие

Манипулирует содержимым файла

Атрибуты

  • file — маска файлов
  • text — текст, добавляется к текушему. При этом, если текст многострочный, то первые пустые строки пропускаются, и если строка — точка, то вместо неё вставляется пустая строка (зачем?)

Теги

Все теги, кроме goto, имеют атрибуты:

  • from — начальная строка диапазона
  • to — конечная строка диапазона
  • line — начальная и конечная строки диапазона
  • all — от первой до последней, то есть весь текст

goto

Изменение текущей строки файла

Атрибуты

  • line:
    • N — установить на строку N (0 - начало)
    • . (точка) или пустая строка — не изменять
    • $ — на последнюю строку
    • ±N — сместиться на N к началу/концу

print

Вывести строки

Атрибуты

  • level — уровень логгирования, при котором выполняется

subst

Замена по регулярному выражению

Атрибуты

  • pattern — шаблон реуглярного выражения
  • subst — шаблон замены
  • global — признак модификатора g (см. модификаторы regexp`ов). (В версии ОТР всегда true, надо разобраться с TRegExpr)

eval

Вычисляет каждую строку, как если бы она была частью выполняемого скрипта. В чём-то аналог Want. echo

delete

Удаляет строки

read

Считывает файлы, вставляя в текущее положение указателя

Атрибуты

  • file — имена файлов, перечисленные через запятую
Nota bene: при вставке нескольких файлов (в одном теге, в списке), указатель не смещается до конца работы тега, поэтому получается, что тексты файлов идут в обратном порядке. Если нужно вставить последовательно, необходимо использовать последовательно тег для каждого файла.

write

Записывает результат в файл

Атрибуты

  • file — имя файла для записи
  • append — признак добавления к файлу

insert

Вставка текста перед текущей строкой

Атрибуты

  • text — вставляемый текст

append

Добавление текста после текущей строки

Атрибуты

  • text — добавляемый текст

global

Фильтрует строки по шаблону (вхождение подстроки). Все дочерние теги работают только с каждой строкой-результатом фильтрации.

Атрибуты

  • pattern — шаблон (подстрока)

Теги

Могут быть все вышеперечисленные

search

Поиск первого вхождения подстроки. Все дочерние теги работают только с результатом поиска.

Атрибуты

  • pattern — шаблон (построка)

Теги

Могут быть все вышеперечисленные, кроме goto

Пример

<target name="example">
    <edit file="${file}">
        <print all="true" />
        <insert to="3" text="${inserted_text}" />
        ...
    </edit>
</target>

Категория:Want. Теги