Se você executar cmp
sem a opção -s
, isso explicará por que ele acha que os arquivos são diferentes.
Do seu código postado nos seus comentários, veja como seus arquivos se parecem com um editor hexadecimal:
res_op_file
tem 12 bytes e termina com \n
( 0a
):
0000000: 4865 6c6c 6f20 576f 726c 640a Hello World.
op_file
tem 11 bytes e não tem o \n
:
0000000: 4865 6c6c 6f20 576f 726c 64 Hello World
diff
tem a opção -Z
, "--ignore-trailing-space", que irá ignorar qualquer espaço em branco no final de uma linha. Se você não se importa com a saída de diff
, basta colocar > /dev/null
no final do comando, como:
if diff -Z file1 file2 > /dev/null
then
echo "Accepted"
else
echo "Wrong Answer"
fi