grep命令无声地响应

时间:2013-11-07 16:50:32

标签: linux bash shell grep

我是linux shell的新手,我正在尝试这样做,最好是在一行中,具有以下条件:它无法向终端输出任何内容。

/var/folder/program.exe -L parameters | grep text_to_filter && echo SomeText >'/tmp/Log.txt'

问题是.exe向终端吐出XML数据。我无法弄清楚如何grep它而没有shell输出它。如果我使用/dev/null 2>&1,它会很好地管理它,但我不能grep数据。有什么想法吗?

2 个答案:

答案 0 :(得分:9)

使用grep -q(安静)

/var/folder/program.exe -L parameters | grep -q "text_to_filter" && echo 'SomeText' > '/tmp/Log.txt'

根据man grep

  

-q, --quiet, --silent                 安静;不要写任何标准输出。如果发现任何匹配,则立即退出零状态,即使出现错误   被发现了。另见                 -s或--no-messages选项。

答案 1 :(得分:0)

尝试使用|&而不仅仅是。 (需要bash 4)