파일 foo
과 파일이 있다고 가정 해 봅시다 bar
. 이제 다음 명령을 호출합니다.
$ diff foo bar > diff_foobar
$ rm bar
bar
합계에서 누락된 내용을 프로그래밍 방식으로 재구성하는 (쉬운) 방법이 있습니까 ?foo
diff_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