Eu tenho 2 arquivos contendo uma lista de músicas. hdsongs.txt e sdsongs.txt
Eu escrevi um script simples para listar todas as músicas e produzir em arquivos de texto, para depois executar uma comparação. Na maioria das vezes, funciona bem, mas o comando diff real no script está mostrando a mesma linha como sendo diferente. Na verdade, isso está acontecendo para várias linhas, mas não para todas.
Aqui está um exemplo de uma música nos dois arquivos:
$ grep Apologize \*songs\*
hdsongs.txt:Timbaland/Apologize.mp3
sdsongs.txt:Timbaland/Apologize.mp3
Não há caracteres especiais à direita que eu possa ver:
$ cat -A hdsongs.txt sdsongs.txt | grep Apologize
Timbaland/Apologize.mp3$
Timbaland/Apologize.mp3$
Quando executo diff, ele mostra a mesma linha em cada arquivo; mas as linhas não são as mesmas?
$ diff hdsongs.txt sdsongs.txt | grep Apologize
> Timbaland/Apologize.mp3
< Timbaland/Apologize.mp3
Isso é semelhante ao tópico aqui: diff reporta que dois arquivos diferem, embora sejam iguais!
mas isso é para linhas dentro do arquivo, não para o arquivo inteiro, e a resolução não parece se encaixar nesse caso.
$ diff <(cat -A phonesongsonly.txt) <(cat -A passportsongsonly.txt) | grep Apologize
< Timbaland/Apologize.mp3$
> Timbaland/Apologize.mp3$
$ wdiff -w "$(tput bold;tput setaf 1)" -x "$(tput sgr0)" -y "$(tput bold;tput setaf 2)" -z "$(tput sgr0)" hdsongs.txt sdsongs.txt | grep Apologize
>Timbaland/Apologize.mp3
>Timbaland/Apologize.mp3
Alguém sabe por que o diff reportaria a mesma linha duas vezes assim?
hexdump
essas duas linhas e veja o que difere?