Isso deve atender às suas necessidades
cat TestSed.txt
Line 1
Line 2
<b>Line 3.
Line 4
Line 5
<b>Line 6.
Line 7
Line 8
<b>Line 9.
Line 10.
<b>Line 11
<b>Line 12.
sed '8~1s/^<b>.*\.$/sed '8~1s/^<b>[^\.]*\./cat TestSed.txt
Line 1
Line 2
<b>Line 3.
Line 4
Line 5
<b>Line 6.
Line 7
Line 8
<b>Line 9.
Line 10.
<b>Line 11
<b>Line 12.
sed '8~1s/^<b>.*\.$/sed '8~1s/^<b>[^\.]*\./%pre%<\/b>/' < TestSed.txt
<\/b>/' < TestSed.txt
Line 1
Line 2
<b>Line 3.
Line 4
Line 5
<b>Line 6.
Line 7
Line 8
<b>Line 9.</b>
Line 10.
<b>Line 11
<b>Line 12.</b>
<\/b>/' < TestSed.txt
<\/b>/' < TestSed.txt
Line 1
Line 2
<b>Line 3.
Line 4
Line 5
<b>Line 6.
Line 7
Line 8
<b>Line 9.</b>
Line 10.
<b>Line 11
<b>Line 12.</b>
O sed
aqui faz a substituição s/Regular Expression To Search/Replacement Text/
e aplica essa expressão regular ^<b>.*\.$
sobre cada linha lida e quando ela corresponde, ela a substitui por
. Aqui \ 0 refere-se ao texto que corresponde à expressão regular ^<b>.*\.$
<\/b>^<b>
.
<b>
corresponderá às linhas que começam com .*
^<b>.*
corresponderá a zero ou mais caracteres. Então,
<b>
corresponderá às linhas que começam com ^<b>.*\.$
e têm zero ou mais caracteres depois disso.
<b>
corresponderá às linhas que estão iniciando com .
e terão zero ou mais caracteres depois disso e terminarão com \.
\/
no texto de substituição fornecerá o texto que correspondeu à expressão regular. No nosso caso, é toda a linha.
.
, /
as barras invertidas são usadas aqui para escapar de 8~1
e .
. Ambos têm um significado especial em expressões regulares. Queremos tratá-los como cordas aqui. Então estamos escapando deles.
[^\.]
informa ao sed para começar a aplicar a substituição da linha 8 e aplicá-la após cada 1 linha, o que significa o restante do arquivo. Se você observar o exemplo, ele não fará nenhuma alteração na Linha 3 e na Linha 6, embora eles correspondam à expressão regular.
EDITAR:
%pre% Isso corresponderá ao texto até o primeiro .
[^\.]*
corresponderá a qualquer caractere, exceto .
%code% corresponderá a qualquer caractere, exceto %code% , zero ou mais vezes.
O resto das explicações é o mesmo.