acrescentar qualquer linha que comece com br com a linha anterior no documento inteiro

0

Eu quero remover os espaços e juntar a linha que começa com palavras específicas no último da linha anterior.

Exemplo De

'<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>'

Para

'<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>'

Eu quero fazer isso com a ajuda de comandos, pois a quantidade de arquivos é enorme. Obrigado.

    
por 22lk94k943 only 29.07.2013 / 20:06

2 respostas

0

Se for apenas um arquivo longo, você poderá abri-lo com o LibreOffice e trabalhar com pesquisa e substituição, usando expressões regulares.

link

    
por kleinempfaenger 29.07.2013 / 20:25
0

Você poderia usar uma variante do sed-one liner '40. Anexe uma linha à anterior se começar com um sinal de igual 'de link , substituindo "=" por qualquer caractere (s) que você queira se juntar, por exemplo para participar no espaço em branco seguido por "< br >" algo como

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

deve funcionar

    
por steeldriver 29.07.2013 / 22:46