生成输出时在线grep

时间:2013-05-28 19:37:59

标签: bash grep

我想运行一个程序,将一些输出写入文件。现在在这个文件中,我将grep某些字符串并将它们写入另一个文件。我不想序列化这个过程。相反,我想管道命令。但是此命令不起作用

./run_prog | grep READ > read_data.txt

2 个答案:

答案 0 :(得分:1)

确保您的./run_prog将输出提供给STDOUT。以下示例显示它应该可以工作。

$>echo "READ" | grep READ > read_data.txt
$>cat read_data.txt
READ
$>

由于您现在可以放心,只需运行./run_prog然后添加| grep即可进行调试。

答案 1 :(得分:1)

如前所述,听起来像您的程序可能正在写入STDERR而不是STDOUT。为了确保你也捕获它,试试这个:

./run_prog 2>&1 | grep READ > read_data.txt