Como apagar linhas onde a parte dada da linha é mais de 100 caracteres?

0

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

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

Mas tenho a seguinte linha de exemplo:

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

Portanto, 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.

    
por gasko peter 10.04.2013 / 16:34

2 respostas

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

Para remover linhas que contenham mais de 100 que não sejam < > caracteres entre um "> e um </a><br> .

    
por 10.04.2013 / 17:20
1

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

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

Corresponde a todas as linhas que contêm 100 Y seguidas e as exclui.

    
por 10.04.2013 / 16:48