我知道我可以使用以下命令删除长度超过 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 的行,并将其删除。