Alterar linhas específicas usando sed

2

Eu tenho um arquivo html e quero editar da 8ª linha até a próxima linha, ou seja, sem alterações para 1-7 e a última linha com o utilitário sed.

Exemplo:

line 1 <i>some text<i>
line 2 <i>some text<i>
line 3 <i>some text<i>
line 4 <i>some text<i>
line 5 <i>some text<i>
line 6 <i>some text<i>
line 7 <i>some text<i>
line 8 <i>some text<i>
line 9 <i>some text<i>
line 10 <i>some text<i>
S       <i>some text<i>
o       <i>some text<i>
-       <i>some text<i>
o       <i>some text<i>
n       <i>some text<i>   
line N <i>some text<i>    

Para

line 1 <i>some text<i>
line 2 <i>some text<i>
line 3 <i>some text<i>
line 4 <i>some text<i>
line 5 <i>some text<i>
line 6 <i>some text<i>
line 7 <i>some text<i>
line 8 some text
line 9 some text
line 10 some text
S       some text
o       some text
-       some text
o       some text
n       some text   
line N <i>some text<i>

Como posso? Agradecemos antecipadamente por sugestões e ajuda. Atenciosamente

    
por 22lk94k943 only 03.05.2013 / 13:22

1 resposta

2

Se o seu limite for de até e incluindo a penúltima linha, você poderá usar $! como condição para a substituição:

sed '8,$ { $! s:</\?i>::g }' infile
    
por Thor 03.05.2013 / 15:17