줄의 특정 부분이 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>'

a ">와 a 사이에 <>가 아닌 문자가 100개 이상 포함된 줄을 제거하려면</a><br>

답변2

위와 동일합니다(귀하가 원하는 것이 무엇인지 제가 올바르게 이해했다면, 즉):

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

이는 행에 100 Y를 포함하는 모든 행을 일치시켜 삭제합니다.

관련 정보