Awk 让cppcheck与管道良好配合

Awk 让cppcheck与管道良好配合,awk,cppcheck,Awk,Cppcheck,我想在cppcheck的输出上使用awk,但似乎cppcheck没有在这一行的末尾将打印输出到屏幕上。有没有办法让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

我想在cppcheck的输出上使用awk,但似乎cppcheck没有在这一行的末尾将打印输出到屏幕上。有没有办法让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

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

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