用grep过滤Doxygen输出

时间:2012-06-13 07:05:15

标签: grep doxygen tcsh

我想用grep过滤doxygen警告,以抑制某些参数的未记录参数警告。我正在尝试这个:

doxygen doxycfgfile | grep -v "parameter x"

然而,这似乎对输出完全没有影响。包含parameter x的行都不会被抑制,也不会包含所有其他行。输出似乎完全相同。

我正在使用tcsh。

1 个答案:

答案 0 :(得分:3)

大概这是因为未记录的参数警告消息正在写入标准错误( stderr ),而不是标准输出( stdout )。使用管道(|),您只需将标准输出到grep的输入。

您可以尝试做类似

的事情
doxygen doxycfgfile |& grep -v "parameter x"

来自advanced bash scripting guide

  

如果使用|&,则command1的标准错误通过管道连接到command2的标准输入;它是2>&1 |的简写。

请注意,这是在Bash 4中添加的,因此对于早期版本,您将使用2>&1 |代替|&

或者,您可以使用类似

之类的东西摆脱标准错误输出
doxygen doxycfgfile 2>/dev/null

askubuntu上的answer是我答案的来源。