Ищите способ добавить три строки в файл, если их не существует, основываясь на некоторой логике.
Я нашел регулярные выражения, необходимые для нахождения некоторых одно- и многострочных шаблонов, но не знаюкак связать все это вместе.
Логика выглядит так:
Добавьте эти три строки ...
** #MEA_DATA_END **;
MEA OK;TRUE
... if ...
\;(FALSE|TRUE)\;-?\d{0,3}\;-?\d{0,3}.?\d{0,3}\;\n
... не сопровождается ...
$\n^\*\* #MEA_DATA_END \*\*\;
... или когда последняя строка файла:
\;(FALSE|TRUE)\;-?\d{0,3}\;-?\d{0,3}.?\d{0,3}\;\z
Входной файл, который неНе может быть изменено:
FALSE;FALSE;-1;25.0;FALSE;FALSE;-1;25.0;
** #MEA_DATA_END **;
MEA OK;TRUE
Входной файл, который будет изменен:
FALSE;FALSE;-1;25.0;FALSE;FALSE;-1;25.0;
Some other text
Выход:
FALSE;FALSE;-1;25.0;FALSE;FALSE;-1;25.0;
** #MEA_DATA_END **;
MEA OK;TRUE
Some other text
Другой входной файл, который будет изменен:
FALSE;FALSE;-1;25.0;FALSE;FALSE;-1;25.0;
Вывод:
FALSE;FALSE;-1;25.0;FALSE;FALSE;-1;25.0;
** #MEA_DATA_END **;
MEA OK;TRUE
Я хотел бы создать скрипт с использованием sed или awk или аналогичного.Кто-нибудь знает решение этой проблемы?