diff
차이점이 변경(즉, 대체)인지 아니면 추가와 삭제의 조합인지 어떻게 알 수 있는지 알고 싶습니다 .
내가 찾을 수 있었던 최고의 것디퓨틸 매뉴얼예
'fct'
첫 번째 파일의 범위 f에 있는 줄을 두 번째 파일의 범위 t에 있는 줄로 바꿉니다. 추가 및 제거를 결합한 것과 비슷하지만 더 컴팩트합니다. 예를 들어, "5,7c8,10"은 파일 1의 5-7행을 파일 2의 8-10행으로 변경하거나, 파일 2를 파일 1로 변경하면 파일 2의 8-10행을 변경함을 의미합니다. 파일 1의 5~7행에 추가합니다.
예를 들어, 각각 4줄로 구성된 두 개의 파일이 있습니다.
$ paste f2 f3
0 1
1 2
3 3
5 6
나는 그것들을 구별한다
$ diff f2 f3
1d0
< 0
2a2
> 2
4c4
< 5
---
> 6
왜?
1d0
< 0
2a2
> 2
아니요
1,2c1,2
< 0
< 1
---
> 1
> 2
대신에?
내가 제공한 대안과 출력에는 모두 공통 행이 diff
있지만 3
내 대안은 공통 행 앞의 다른 행을 즉 c
대체 항목으로 처리하는 반면, diff
출력에서는 이를 삭제와 추가의 조합으로 처리합니다.
답변1
두 파일 사이의 LCS는 1 3
가 아니라 입니다 3
. 따라서 두 파일 사이에는 두 개가 아닌 세 개의 블록이 있습니다.