Ich habe 2 Dateien mit einer Liste von Songs. hdsongs.txt und sdsongs.txt
Ich habe ein einfaches Skript geschrieben, um alle Songs aufzulisten und in Textdateien auszugeben, um dann ein Diff auszuführen. Es funktioniert größtenteils einwandfrei, aber der tatsächliche diff-Befehl im Skript zeigt dieselbe Zeile als unterschiedlich an. Dies geschieht tatsächlich für mehrere Zeilen, aber nicht für alle.
Hier ist ein Beispiel eines Songs in beiden Dateien:
$ grep Apologize \*songs\*
hdsongs.txt:Timbaland/Apologize.mp3
sdsongs.txt:Timbaland/Apologize.mp3
Es gibt kein abschließendes Sonderzeichen, das ich sehen kann:
$ cat -A hdsongs.txt sdsongs.txt | grep Apologize
Timbaland/Apologize.mp3$
Timbaland/Apologize.mp3$
Wenn ich diff ausführe, wird in jeder Datei dieselbe Zeile angezeigt. aber sind die Zeilen nicht gleich?
$ diff hdsongs.txt sdsongs.txt | grep Apologize
> Timbaland/Apologize.mp3
< Timbaland/Apologize.mp3
Dies ähnelt hier dem Thread: diff meldet, dass sich zwei Dateien unterscheiden, obwohl sie gleich sind!
Dies gilt jedoch für Zeilen innerhalb der Datei, nicht für die gesamte Datei, und die Auflösung dort scheint in diesem Fall nicht zu passen.
$ 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
Weiß jemand, warum Diff die gleiche Zeile zweimal so melden würde?
hexdump
diesen beiden Zeilen und sehen, was sich unterscheidet?