Perl решение:
perl -pi.bak -we 's/^revision="[^\n"]{0,8}\K.*/"/' myfile.txt
Сохранит резервную копию в myfile.txt.bak
.Удалите i.bak
, чтобы увидеть результат без внесения изменений в файл.Удалите .bak
, чтобы не сохранять резервную копию (необратимо).
Регулярное выражение найдет и изменит любую строку, начинающуюся с revision="
.После этого совпадения будут сохранены следующие 0-8 символов, которые не являются двойными кавычками или символом новой строки (*), и будут удалены остальные.Он добавит двойную кавычку в конец строки перед новой строкой.
(*) Добавлена новая строка, чтобы предотвратить случай с краем встроенных новых строк или плохо отформатированных строк, повреждающих файл.Это «исправит» открытые двойные кавычки, добавив закрывающие.