【问题标题】:Searching the output of a program through Terminal通过终端搜索程序的输出
【发布时间】:2011-10-02 20:48:53
【问题描述】:

假设我的 C++ 程序向终端输出了很多东西,比如 10000x3 矩阵。 是否有任何 Unix 命令行实用程序可供我检查包含所需数字/字符串的行?

换句话说,如果输出看起来像

1.23 4.56 7.89

1.54 9.86 7.78

6.78 1.23 9.86

4.56 6.77 8.98

9.86 3.45 7.54

一些 unix 命令应该在这个输出中搜索 9.86 并且只打印包含这个数字的行。

【问题讨论】:

    标签: terminal


    【解决方案1】:

    尝试使用mycppprogram | grep '9.86'

    【讨论】:

    • 谢谢,但就我而言,我想在终端输出中搜索字符串而不是 mycppprogram 之类的文件。
    • grep 的第一个参数是要搜索的模式(字符串)。当没有指定要搜索的文件时,它会搜索标准输入。使用管道将程序的输出引导到 grep 的标准输入。在我的示例中,“mycppprogram”是您从命令行运行的程序,也就是您要搜索其输出的程序。
    • 谢谢你!这对我很有效。我喜欢 grep 以红色突出显示搜索字符串的方式。您的答案中的一个微小更正:在我的机器中 ./mycppprogram | grep '9.86' 有效。没有./ 我得到mycppprogram command not found
    【解决方案2】:

    grep 是你的朋友:man grep

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-16
      • 1970-01-01
      • 2017-05-09
      • 2013-05-09
      • 2019-10-03
      • 2013-12-23
      • 1970-01-01
      • 2019-03-30
      相关资源
      最近更新 更多