ฉันมี 2 ไฟล์ที่มีรายการเพลง hdsongs.txt และ sdsongs.txt
ฉันเขียนสคริปต์ง่าย ๆ เพื่อแสดงรายการเพลงทั้งหมดและส่งออกไปยังไฟล์ข้อความเพื่อให้ทำงานต่างกัน มันใช้งานได้ดีสำหรับส่วนใหญ่ แต่คำสั่ง diff จริงในสคริปต์แสดงบรรทัดเดียวกันว่าแตกต่างกัน นี่คือสิ่งที่เกิดขึ้นจริงสำหรับหลายบรรทัด แต่ไม่ใช่ทั้งหมด
นี่คือตัวอย่างของเพลงในไฟล์ทั้งสอง:
$ grep Apologize \*songs\*
hdsongs.txt:Timbaland/Apologize.mp3
sdsongs.txt:Timbaland/Apologize.mp3
ไม่มีตัวอักษรพิเศษต่อท้ายที่ฉันเห็นได้:
$ cat -A hdsongs.txt sdsongs.txt | grep Apologize
Timbaland/Apologize.mp3$
Timbaland/Apologize.mp3$
เมื่อฉันรัน diff มันจะแสดงบรรทัดเดียวกันในไฟล์แต่ละไฟล์ แต่เส้นไม่เหมือนกันหรือ
$ diff hdsongs.txt sdsongs.txt | grep Apologize
> Timbaland/Apologize.mp3
< Timbaland/Apologize.mp3
สิ่งนี้คล้ายกับเธรดที่นี่: diff รายงานสองไฟล์ต่างกันแม้ว่าจะเหมือนกัน!
แต่สำหรับบรรทัดภายในไฟล์ไม่ใช่ทั้งไฟล์และความละเอียดที่ปรากฏนั้นไม่พอดีในกรณีนี้
$ 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
ไม่มีใครรู้ว่าทำไม diff จะรายงานบรรทัดเดียวกันสองครั้งเช่นนี้?
hexdump
สองบรรทัดนั้นแล้วดูว่าต่างกันอย่างไร