如何刪除給定部分超過 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 的行,並將其刪除。

相關內容