Vim:查找字符串出现次数较少的行

Vim: find lines with less occurrences of string

在数据文件中,我需要找到包含少于 10 倍模式的所有行 |^| 我以两种方式需要它们:

  1. 搜索,这样我就可以浏览文件并检查数据
  2. 作为要复制的列表,包括下一行

我在 Windows.

中使用 Gvim

到目前为止,我已经尝试过:

/[|^|]{,9}
/[|^|]*{,9}
:g/\v(\|[^|^|]*){,9}/p

有人能帮帮我吗?

编辑:一个例子(因为不允许使用真实数据)

abc|^|def|^|ghi|^|jkl|^|mno|^|pqr|^|stu|^|vwx|^|yza|^|bcd|^|efg
abc|^|def|^|ghi|^|jkl|^|mno|^|pqr|^|stu|^|vwx|^|yza|^|
bcd|^|efg
abc|^|def|^|ghi|^|jkl|^|mno|^|pqr|^|stu|^|vwx|^|yza|^|bcd|^|efg

最终解决方案:

:v/\v(\|\^\|.*){10}

这个我试过了。我认为这会有所帮助。

/\(|^|.*\)\{10}

或用 \v

/\v(\|\^\|.*){10}