Предполагается, что вы хотите удалить весь текст слева от keyword1
и весь текст справа от keyword2
:
while (<>) {
s/.*(keyword1)/$1/;
s/(keyword2).*/$1/;
print;
}
Поместите это в скрипт на Perl и запустите так:
fix.pl original.txt > new.txt
Или, если вы просто хотите сделать это на месте, возможно, для нескольких файлов одновременно:
perl -i.bak -pe 's/.*(keyword1)/$1/; s/(keyword2).*/$1/;' original.txt original2.txt
Это будет выполнять редактирование на месте, переименовывая оригинал, чтобы иметь расширение .bak, использовать неявный цикл while с печатью и выполнять поиск и замену шаблона перед каждой печатью.
Чтобы быть в безопасности, сначала проверьте его без опции -i или, по крайней мере, только для одного файла ...