добавить любую строку, начинающуюся с < br > с предыдущей строкой во всем документе

Я хочу удалить пробелы и соединить строку, которая начинается с определенных слов в последней из предыдущих строк.

Пример из

`<b>any thing that matters<b> what ever, i don't know.
      <font=any type> what ever you do is not right<font>
      <br>this line will go to the end of above line
      <Hi>not this one<hi>
      <br>but this one
      <go>i hope you understand<go>`

В

`<b>any thing that matters<b> what ever, i don't know.
      <font=any type> what ever you do is not right<font><br>this line will go to the end of above line
      <Hi>not this one<hi><br>but this one
      <go>i hope you understand<go>`

Я хочу сделать это с помощью команд, так как количество файлов огромно. Спасибо.

0
задан 30 July 2013 в 11:37

2 ответа

Если это всего один длинный файл, вы можете открыть его с помощью LibreOffice и работать с поиском и заменой, используя регулярные выражения.

https://help.libreoffice.org/Common/List_of_Regular_Expressions

0
ответ дан 30 July 2013 в 11:37

Вы можете использовать вариант sed one-liner '40. Добавить строку к предыдущему, если она начинается со знака равенства 'из http://www.catonmat.net/blog/sed-one-liners-explained-part-one/ , заменив "=" с любым персонажем, к которому вы хотите присоединиться, например чтобы присоединиться к пробелу с последующим "< br>" что-то вроде

$ sed -e :a -e '$!N;s/\n[[:space:]]*<br>/<br>/;ta' -e 'P;D' <yourfile> 

должно работать

0
ответ дан 30 July 2013 в 11:37

Другие вопросы по тегам:

Похожие вопросы: