Saya memiliki 2 file yang berisi daftar lagu. hdsongs.txt dan sdsongs.txt
Saya menulis skrip sederhana untuk mendaftar semua lagu dan output ke file teks, untuk kemudian menjalankan diff terhadap. Ini berfungsi dengan baik untuk sebagian besar, tetapi perintah diff aktual dalam skrip menunjukkan baris yang sama sebagai berbeda. Ini sebenarnya terjadi untuk beberapa baris, tetapi tidak semua.
Berikut adalah contoh lagu di kedua file:
$ grep Apologize \*songs\*
hdsongs.txt:Timbaland/Apologize.mp3
sdsongs.txt:Timbaland/Apologize.mp3
Tidak ada karakter spesial tertinggal yang dapat saya lihat:
$ cat -A hdsongs.txt sdsongs.txt | grep Apologize
Timbaland/Apologize.mp3$
Timbaland/Apologize.mp3$
Ketika saya menjalankan diff, ini menunjukkan baris yang sama berada di setiap file; tapi bukankah garisnya sama?
$ diff hdsongs.txt sdsongs.txt | grep Apologize
> Timbaland/Apologize.mp3
< Timbaland/Apologize.mp3
Ini mirip dengan utas di sini: laporan diff dua file berbeda, meskipun mereka sama!
tapi ini untuk baris dalam file, bukan keseluruhan file, dan resolusi di sana sepertinya tidak cocok dalam kasus ini.
$ 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
Adakah yang tahu mengapa diff akan melaporkan baris yang sama dua kali seperti ini?
hexdump
dua garis itu dan melihat apa yang berbeda?