노래 목록이 들어있는 2 개의 파일이 있습니다. hdsongs.txt 및 sdsongs.txt
모든 노래를 나열하고 텍스트 파일로 출력 한 다음 diff를 실행하는 간단한 스크립트를 작성했습니다. 대부분 잘 작동하지만 스크립트의 실제 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
그 두 줄을 시도 하고 다른 점을 보십니까?