J'ai 2 fichiers contenant une liste de chansons. hdsongs.txt et sdsongs.txt
J'ai écrit un script simple pour répertorier toutes les chansons et les exporter vers des fichiers texte, puis exécuter un diff. Cela fonctionne très bien pour la plupart, mais la commande diff réelle dans le script affiche la même ligne comme étant différente. Cela se produit en fait pour plusieurs lignes, mais pas pour toutes.
Voici un exemple de morceau dans les deux fichiers:
$ grep Apologize \*songs\*
hdsongs.txt:Timbaland/Apologize.mp3
sdsongs.txt:Timbaland/Apologize.mp3
Je ne vois aucun caractère spécial de fin:
$ cat -A hdsongs.txt sdsongs.txt | grep Apologize
Timbaland/Apologize.mp3$
Timbaland/Apologize.mp3$
Lorsque je lance diff, cela montre la même ligne dans chaque fichier; mais les lignes ne sont-elles pas les mêmes?
$ diff hdsongs.txt sdsongs.txt | grep Apologize
> Timbaland/Apologize.mp3
< Timbaland/Apologize.mp3
Ceci est similaire au fil ici: diff signale que deux fichiers diffèrent, bien qu'ils soient identiques!
mais c'est pour les lignes dans le fichier, pas le fichier entier, et la résolution ne semble pas correspondre dans ce cas.
$ 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
Est-ce que quelqu'un sait pourquoi diff signalerait la même ligne deux fois comme ça?
hexdump
ces deux lignes et voyez ce qui diffère?