Você tem quase certeza de que caracteres adicionais em cada linha estão fazendo com que as linhas correspondentes não correspondam exatamente. Esses caracteres adicionais podem ter a forma de caracteres de retorno de carro de terminadores de linha no estilo do Windows, caracteres de espaço ou tabulação ou possivelmente outros caracteres não imprimíveis. Por exemplo, talvez o script Python esteja justificando à direita os números, para que alguns ou todos tenham espaços iniciais.
A melhor coisa a fazer seria filtrar todos esses caracteres indesejados e, como os dados são estritamente numéricos, isso é muito fácil, por exemplo, com sed
:
sed 's/[^0-9]//g' < input > output
Você pode interpor isso em vários pontos do processo. Aqui está apenas um:
comm <(sed 's/[^0-9]//g' file1.txt | sort) <(sed 's/[^0-9]//g' file2.txt | sort)