2011-10-02 47 views
0

假设我的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和打印仅含有该号码的行。

回答

3

使用try mycppprogram | grep '9.86'

+0

谢谢你,但在我的情况下,我想搜索的终端输出字符串像mycppprogram不是一个文件。 – smilingbuddha

+1

grep的第一个参数是要搜索的模式(字符串)。当没有指定要搜索的文件时,它搜索标准输入。使用管道将程序的输出传递给grep的标准输入。在我的示例中,“mycppprogram”是您从命令行运行的程序,即要搜索其输出的程序。 – imm

+0

谢谢你imm!这对我来说很好。我喜欢grep如何以红色突出搜索字符串的方式。在你的答案中有一个小小的改动:在我的机器中./mycppprogram | grep'9.86''的作品。没有'。/'我得到'mycppprogram command not found'。 – smilingbuddha

2

grep的是你的朋友:man grep