我想用grep过滤doxygen警告,以抑制某些参数的未记录参数警告。我正在尝试这个:
doxygen doxycfgfile | grep -v "parameter x"
然而,这似乎对输出完全没有影响。包含parameter x
的行都不会被抑制,也不会包含所有其他行。输出似乎完全相同。
我正在使用tcsh。
答案 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是我答案的来源。