我有一个代码片段int t.c喜欢
val = (val1 << 8) | (val >> 8 );
val = (val2 << 16) | (val >> 8 );
val = (val3 << 32) | (val >> 8 );
val = (val << 8);
如果我是grep -nhE "(<<.*|).*(>>)" t.c
1:val = (val1 << 8) | (val >> 8 );
2:val = (val2 << 16) | (val >> 8 );
3:val = (val3 << 32) | (val >> 8 );
但如果使用像./cppcheck --rule="(<<.*|).*(>>)" t.c
这样的cppcheck搜索,我会得到输出
[../test/t.c:1]: (style) found ' val = ( val1 << 8 ) | ( val >> 8 ) ; val = ( val2 << 16 ) | ( val >> 8 ) ; val = ( val3 << 32 ) | ( val >>'
即显示来自第一次匹配的整个匹配线。我想在grep命令中得到结果。
请帮忙
答案 0 :(得分:0)
尝试以下命令(转义|
):
cppcheck --rule="<<.*?\|.*?>>" t.c
输出与grep的输出不完全相同。