diff에서 파일 다시 빌드

diff에서 파일 다시 빌드

파일 foo과 파일이 있다고 가정 해 봅시다 bar. 이제 다음 명령을 호출합니다.

$ diff foo bar > diff_foobar
$ rm bar

bar합계에서 누락된 내용을 프로그래밍 방식으로 재구성하는 (쉬운) 방법이 있습니까 ?foodiff_foobar

답변1

"차이점 적용"이라고도 알려진 차이점으로부터 파일을 다시 작성하는 작업은 유틸리티가 수행하는 작업입니다 patch.

## Create two arbitrary files, `original' and `altered':
$ seq 0 3 >original
$ seq 7 11 >altered

## Compute a diff from `original' to `altered':
$ diff original altered >diff

## Copy `original' before patching it
$ cp -vi original original.0
`original' -> `original.0'
$ patch <diff original # This modifies `original'!
patching file original

## Confirm that we rebuilt the file from `original' and `diff`
$ diff --report-identical-files original altered
Files original and altered are identical

patch 명령에는 특히 패치를 반대로 적용하는 옵션도 많이 있습니다.

답변2

예, 패치를 적용합니다.

당신은 다음을 수행했습니다:

$ diff foo bar > diff_foobar
$ rm bar

지금 그것을 할:

$ patch  foo -o bar < diff_foobar

관련 정보