如何删除给定部分超过 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 的行,并将其删除。

相关内容