想要捕获命令输出的grep计数

时间:2013-11-14 12:17:22

标签: bash

我想通过使用命令来计算ERROR一词的出现: -

mysql -B -u root -pxxxx -h abc -e show databases | grep -c "ERROR"

但是我的理解是它应该返回1然而它将它返回为O

为什么?

另请告诉我mysql -B和-e

的重要性

谢谢, 鲁奇尔

1 个答案:

答案 0 :(得分:2)

默认情况下,错误会转到标准错误(stderr),因此您需要将其重定向到标准输出(通过2>&1)。在这种情况下,grep可以处理它们:

mysql -B -u root -pxxxx -h abc -e show databases 2>&1 | grep -c "ERROR"