2012-06-13 53 views
1

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

doxygen doxycfgfile | grep -v "parameter x" 

但是,这似乎对输出完全没有影响。包含parameter x的行不会被抑制,也不会包含所有其他行。输出看起来完全一样。

我正在使用tcsh。

回答

3

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

你可以尝试做这样的事情

doxygen doxycfgfile |& grep -v "parameter x" 

advanced bash scripting guide

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

注意,这猛砸4加入,因此对于早期版本中,你将有你代替|&使用2>&1 |

或者,你可以只摆脱标准错误输出,使用类似

doxygen doxycfgfile 2>/dev/null 
上askubuntu

answer是我的答案来源。

+0

谢谢你的工作,现在我只需要修改我的正则表达式匹配为缺少参数生成的整个errormessage,其中参数x是唯一的参数。但那不是问题的一部分。否则,这就像一个魅力 – ted