Como deletar linhas onde uma determinada parte da linha tem mais de 100 caracteres?

Como deletar linhas onde uma determinada parte da linha tem mais de 100 caracteres?

Eu sei que posso excluir linhas com mais de 100 caracteres com isto:

sed '/^.\{100\}..*/d'

Mas eu tenho a seguinte linha de exemplo:

<a href="http://xxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx">YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</a><br>

Então, preciso excluir apenas as linhas onde "YYY":

">Y...Y...Y</a><br>

tem mais de 100 caracteres. Como posso fazer isso?

Estou usando o OpenBSD.

Responder1

grep -vE '">[^<>]{101,}</a><br>'

Para remover linhas que contêm mais de 100 caracteres diferentes de <> entre a ">e a </a><br>.

Responder2

O mesmo que acima (se bem entendi o que você quer fazer, isto é):

sed -e '/Y\{100\}/d'

Isso corresponde a todas as linhas contendo 100 Y consecutivas e as exclui.

informação relacionada