Bir şarkı listesi içeren 2 dosyam var. hdsongs.txt ve sdsongs.txt
Tüm şarkıları ve çıktıları metin dosyalarına listelemek için basit bir komut dosyası yazdım, sonra bir fark çalıştırmak için. Çoğunlukla iyi çalışır, ancak komut dosyasındaki gerçek diff komutu farklı satırla aynı satırı gösterir. Bu aslında birden fazla satır için oluyor, ama hepsi değil.
Her iki dosyadaki bir şarkı örneği:
$ grep Apologize \*songs\*
hdsongs.txt:Timbaland/Apologize.mp3
sdsongs.txt:Timbaland/Apologize.mp3
Görebildiğim özel bir karakter yok:
$ cat -A hdsongs.txt sdsongs.txt | grep Apologize
Timbaland/Apologize.mp3$
Timbaland/Apologize.mp3$
Diff çalıştırdığımda, her dosyada aynı satırı gösterir; ama çizgiler aynı değil mi?
$ diff hdsongs.txt sdsongs.txt | grep Apologize
> Timbaland/Apologize.mp3
< Timbaland/Apologize.mp3
Bu iş parçacığına benzer: diff raporları aynı olmasına rağmen iki dosya farklı!
ancak bu dosya içindeki satırlar içindir, dosyanın tamamı değil ve bu durumda çözünürlük uygun değildir.
$ 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
Farklı olan neden aynı satırı iki kez böyle rapor edeceğini bilen var mı?
hexdump
bu iki çizgiyi deneyin ve neyin farklı olduğunu görün.