让 cppcheck 与管道一起正常工作

Posted

技术标签:

【中文标题】让 cppcheck 与管道一起正常工作【英文标题】:Getting cppcheck to work well with pipes 【发布时间】:2015-01-24 15:25:41 【问题描述】:

我想在 cppcheck 的输出上使用 awk - 但似乎 cppcheck 在这一行的末尾没有输出到 awk 将打印输出到屏幕上。有没有办法让 cppcheck 的输出只进入到 awk 的管道中,以便我可以过滤它?

git status -s | awk '(($1 ~ /M/) || ($1 ~ /A/))  print $2 ' | xargs cppcheck -j 2 --enable=warning,performance | awk '/error/  print $1 '

这是我的输出

[silly.cpp:9]: (warning) %d in format string (no. 1) requires 'int' but the argument type is 'char *'.
[silly.cpp:7]: (error) Buffer is accessed out of bounds: buf

【问题讨论】:

【参考方案1】:

它可能输出到 stderr 而不是 stdout。试试:

cppcheck ... 2>&1 | awk ...

【讨论】:

以上是关于让 cppcheck 与管道一起正常工作的主要内容,如果未能解决你的问题,请参考以下文章

无法让 Docker 在 Docker 之外与 ECS 中的 Jenkins 一起工作

cppcheck,内联抑制如何与 misra 插件一起使用

如何让 CAST 与除法一起正常工作

无法让 onChanged 与 GetX 一起正常工作

如何让 Checkstyle CustomImportOrder 与 Android Studio 一起正常工作?

无法让自定义 RKBlockValueTransformer 与 RestKit 一起正常工作