Bash 找到N个匹配项后中断pdfgrep

Bash 找到N个匹配项后中断pdfgrep,bash,grep,Bash,Grep,与常规的grep不同,它似乎不提供在返回N个匹配项后限制搜索的选项。我有一个脚本,它必须搜索一个稍大的.pdf文件,而pdfgrep需要一分钟来搜索整个文件。但是搜索整个文档的效率是不必要的,特别是因为我可能需要每天运行此命令数次,等待命令完成才能继续工作 由于pdfgrep在搜索时会打印结果,我想知道BASH在终端输出N个匹配项后如何能够中断(cntl-C)进程(命令)?尽管这样的壮举似乎很有道理,但我不确定如何实施这样的解决方案 欢迎阅读任何建议或想法。我可以想到两种选择 pdfgrep…

与常规的
grep
不同,它似乎不提供在返回N个匹配项后限制搜索的选项。我有一个脚本,它必须搜索一个稍大的
.pdf
文件,而pdfgrep需要一分钟来搜索整个文件。但是搜索整个文档的效率是不必要的,特别是因为我可能需要每天运行此命令数次,等待命令完成才能继续工作

由于pdfgrep在搜索时会打印结果,我想知道BASH在终端输出N个匹配项后如何能够中断(cntl-C)进程(命令)?尽管这样的壮举似乎很有道理,但我不确定如何实施这样的解决方案


欢迎阅读任何建议或想法。

我可以想到两种选择

  • pdfgrep…|标题-n 1

  • IFS=read-r line<我能想到的两个选项

    • pdfgrep…|标题-n 1

    • IFS=read-r line<自1.3.1版以来,pdfgrep还具有来自grep的
      -m/--max count
      选项:

      pdfgrep --max-count 4 pattern some.pdf
      

      从1.3.1版开始,pdfgrep还具有grep的
      -m/--max count
      选项:

      pdfgrep --max-count 4 pattern some.pdf
      

      开源之美,提出一个问题,甚至最好发送一个pull请求@iiSeymour:这几乎肯定不是OP所说的
      pdfgrep
      。各种发行版中包含的程序都可以在《开源之美》(Beauty of open source),引发一个问题,甚至最好发送一个请求@iiSeymour:这几乎肯定不是OP所说的
      pdfgrep
      。各种发行版中包含的程序在两个SUGG下都可用,可以根据需要工作。尽管这两种实现都能工作:
      sr=$(而IFS=readline;do echo“$line”&&break;done<第一种形式显然更清晰。我还没有看到第二种形式带有内嵌变量赋值,也不完全确定它为什么会起作用,尽管我认为在这两种情况下@gniourf_gniourf edit更清晰,因为没有必要对一行使用
      while/read循环
      。这里的两个sugg都可以按需要工作。尽管这两个sugg都可以实现工作:
      sr=$(而IFS=readline;do echo“$line”&&break;done<第一种形式显然更清晰。我还没有看到第二种形式带有内嵌变量赋值,也不完全确定它为什么会起作用,尽管我认为在这两种情况下@gniourf_gniourf edit更清晰,因为一行不需要
      while/read循环