Как удалить строки, в которых указанная часть строки превышает 100 символов?

Как удалить строки, в которых указанная часть строки превышает 100 символов?

Я знаю, что можно удалить строки длиной более 100 символов с помощью этого:

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

Но у меня есть следующий пример строки:

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

Поэтому мне нужно удалить только строки, где «YYY»:

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

длиннее 100 символов. Как это сделать?

Я использую OpenBSD.

решение1

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

Чтобы удалить строки, содержащие более 100 символов, отличных от <>, между a ">и a </a><br>.

решение2

То же самое, что и выше (если я правильно понимаю, что вы хотите сделать, то есть):

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

Это сопоставляет все строки, содержащие 100 Y подряд, и удаляет их.

Связанный контент