以更少的方式计算匹配的数量

Bud*_*man 3 less

在 中less,有没有一种方法或技巧可以快速计算匹配的数量,而不是重复按 N 并手动计算匹配?

Qua*_*odo 7

如果less正在显示文件,则发出

!grep -c pattern %
Run Code Online (Sandbox Code Playgroud)

正如告诉我们的那样,“命令中的百分号 (%) 被当前文件的名称替换” man less

不幸的是,由于less与 一起使用时显示标准输入man,因此在阅读手册页时无法执行相同的操作。在这种情况下请参考muru 的回答


mur*_*uru 5

我不认为有直接的方法,但你可以破解你的方法。以下命令将从屏幕上的第一行到文件末尾的所有内容通过管道传输到grep -c ... | less,打开一个新实例less以显示 的输出grep,这将是与模式匹配的行数:

g|$ grep -c <pattern> | less
Run Code Online (Sandbox Code Playgroud)

当你退出这个less,你会回到第一个less

其他技巧:

  • &pattern然后管道wc -l使用g|$如上,使用less模式匹配
  • 跳转多个匹配项(例如,执行10nx 次直到失败,然后通过 y 个单步进行以获得 10x+y 个匹配项)。