Vim:查找字符串出现次数较少的行
Vim: find lines with less occurrences of string
在数据文件中,我需要找到包含少于 10 倍模式的所有行 |^|
我以两种方式需要它们:
- 搜索,这样我就可以浏览文件并检查数据
- 作为要复制的列表,包括下一行
我在 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}
在数据文件中,我需要找到包含少于 10 倍模式的所有行 |^| 我以两种方式需要它们:
- 搜索,这样我就可以浏览文件并检查数据
- 作为要复制的列表,包括下一行
我在 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}