Bash 要捕获命令输出的grep计数吗
我想使用以下命令计算单词错误的发生率:- mysql -B -u root -pxxxx -h abc -e show databases | grep -c "ERROR" mysql-B-u root-pxxx-h abc-e show数据库| grep-c“错误” 然而,我的理解是,它应该返回1,但它返回的是O 为什么? 也请让我知道mysql-B和-e的重要性 谢谢,Bash 要捕获命令输出的grep计数吗,bash,Bash,我想使用以下命令计算单词错误的发生率:- mysql -B -u root -pxxxx -h abc -e show databases | grep -c "ERROR" mysql-B-u root-pxxx-h abc-e show数据库| grep-c“错误” 然而,我的理解是,它应该返回1,但它返回的是O 为什么? 也请让我知道mysql-B和-e的重要性 谢谢, Ruchir默认情况下,错误会转到标准错误(stderr),因此需要将其重定向到标准输出(通过2>&1)。在这种情况下,
Ruchir默认情况下,错误会转到标准错误(stderr),因此需要将其重定向到标准输出(通过
2>&1
)。在这种情况下,grep可以处理它们:
mysql -B -u root -pxxxx -h abc -e show databases 2>&1 | grep -c "ERROR"
你能提供一个grep输入的例子吗?要理解
-B
和-e
的重要性,请尝试manmysql
或mysql--help
。或者你可以使用|&
作为'2>&1|`(bash4.0)的快捷方式,只需小心一行上的多个错误被算作一个。是的,最好是grep-o“ERROR”| wc-l
。