0

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

./run_prog | grep READ > read_data.txt
4

2 回答 2

1

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

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

由于您现在确信它应该通过运行./run_prog然后添加来进行调试| grep

于 2013-05-28T19:42:44.583 回答
1

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

./run_prog 2>&1 | grep READ > read_data.txt 
于 2013-05-28T19:46:05.180 回答