Elimine o 2
do seu comando e use apenas >
como o operador de redirecionamento.
Ao usar 2>
, você está redirecionando o fluxo de erros (STDERR) para um arquivo; o que parece que você quer é o fluxo de saída regular (STDOUT).
cppcheck abc.cpp > abc.txt
Se você quiser que ambos transmitam para o seu arquivo, você pode conectar 2 (o fluxo de erro) a 1 (o fluxo de saída padrão) assim:
cppcheck abc.cpp > abc.txt 2>&1
Ou use o sintaxe de atalhos sugerida para pegar tudo.