Читать и удалять текст между двумя строками в Perl - PullRequest
0 голосов
/ 25 августа 2010

Мне нужен способ прочитать и удалить текст между двумя разными строками, найденными в каком-либо файле, а затем удалить эти две строки.Как «команда нарезки».Я хотел бы, чтобы текст хранился в переменной.

Я видел пост о чтении текста между двумя строками, но не мог понять, как его удалить.

Я собираюсь выполнить сохраненный текст в bash.Эффективность желательна.Этот сценарий не будет использоваться для больших файлов, но он может выполняться много раз последовательно, поэтому чем быстрее сценарий работает, тем лучше.

Сохраненный текст обычно будет содержать специальные символы.

Спасибо

1 Ответ

0 голосов
/ 25 августа 2010

Укажите начальную и конечную строки в среде и файл для использования в командной строке perl:

export START_STRING='abc def'
export END_STRING='ghi jkl'
perl -0777 -i -wpe's/\Q$ENV{START_STRING}\E(.*)\Q$ENV{END_STRING}\E/s;print STDERR $1' file_to_use 2>savedtext
...