& 나는이 질문에 대해 많은 검색을하고 있으며 이미 두 파일 (해시, 체크섬 등)을 비교하는 방법을 알고 있습니다. 그러나 그것은 내가 필요로하는 것이 아니다. 내가 필요한 것은 아래에 설명되어 있습니다.두 파일 버전을 비교하고 이전 파일에 변경 사항을 적용하십시오.
내가 파일이 있다고 가정하고 백업했습니다. 나중에이 파일을 약간 변경 했으므로 백업 버전에 변경 사항을 적용하려고합니다. 두 파일은 충분히 커질 수 있고 변경도 적을 수 있기 때문에 많은 파일을 다시 쓰고 싶지 않습니다. 인터넷 (FTP 일 수도 있음)을 백업 할 계획이기 때문에 파일을 다시 작성하고 싶지는 않습니다.
나는이 (샘플)은 방법 : 파일의
백업 버전 (바이트) 파일 (바이트)의
134 253 637 151
최근 버전 대신 모든 바이트를 재 작성의
134 624 151 890
을, 우리는해야만합니다 :
- 변경
253
(변경 바이트)624
에 - 이 파일의 끝 (삽입 바이트)에
637
바이트 (바이트 제거) - 쓰기
890
을 제거
1,2,3 옵션은 반드시 한 번에 표시되지 않습니다 각 경우에. 백업 파일은 다른 곳에있을 수 있으며 인터넷을 통해 액세스 권한이 있습니다 (서버가 파일을 비교할 수 있도록 반환 할 수 있음).
어떻게해야합니까? 나는 그것이 구현 된 소프트웨어를 알고 있기 때문에 그것이 가능하다는 것을 안다. (그러나 어떻게 찾을 수는 없다.) 힌트, 자습서 등을 환영하고 매우 만족시킵니다. 미리 감사드립니다.
당신이'diff'의 이행을 확인 했 참조? (http://en.wikipedia.org/wiki/Diff) –
옙, 나는 이것을 보았다. 차이점을 발견 할 수 있다는 것을 알았지 만 실제로 어떻게 바이트를 전송하여 강제로 특정 위치에 삽입해야합니다 ... 추가 바이트로이 바이트를 전송해야합니까? – GaaRa
텍스트 또는 바이너리 정보를 비교하고 있습니까? http://www.daemonology.net/bsdiff/와 같은 바이너리 diff 도구 뒤에있는 알고리즘을 조사하고 싶을 수도 있습니다. – Slugart