을 사용하여 두 파일을 병합 다음과 같이 임시 파일에 두 파일은 diff 및 수동 수동 DIFF
- 출력 복사/저장.
여기서 문제는 diff -u
이 전체 파일을 통합 된 형식으로 출력하고 싶을 때만 파일 줄을 제공한다는 것입니다.
diff가 수행 할 수있는 방법이 있습니까?
을 사용하여 두 파일을 병합 다음과 같이 임시 파일에 두 파일은 diff 및 수동 수동 DIFF
여기서 문제는 diff -u
이 전체 파일을 통합 된 형식으로 출력하고 싶을 때만 파일 줄을 제공한다는 것입니다.
diff가 수행 할 수있는 방법이 있습니까?
"전체 파일을 통일 된 형식으로 출력하고 싶습니다. diff에서 수행 할 수있는 방법이 있습니까?"
예.
diff -U 9999999 file1.txt file2.txt > diff.txt
파일 크기가 1 천만 라인 미만인 경우에만 작동합니다. 당신을 위해 법안을 맞는 수도
하나 개의 옵션,
sdiff
: 파일의 나란히 DIFF. 일단 거기
sdiff -o merged.file left.file right.file
, 당신이 어떤 파일에서 유지하기 원하는 라인하라는 메시지를 표시합니다. 약간의 도움을 받으려면 ?
을 누르고 나서 enter
을 누르십시오. 자세한 상품과 함께 man sdiff
.
이 (내 배포판에서 이들은 "Diffutils의"패키지로 제공 [페도라, CentOS는])
당신이 프로세스를 자동화해야하는 경우에 충돌을 표시합니다 UTIL merge
을 시도 할 수도 있습니다 파일들. 그러나 그것은 사각형 하나에 다시 넣을 수 있습니다.
쉬운 대답은 파일을 병합하고 차이를 C 스타일 #ifdef 문으로 둘러싸 기 위해 -D 플래그를 사용하는 것입니다. 문서에서
:
$ diff -D NEWSTUFF file1 file2 > merged_file
나는 보통 다음 그냥 편집기에서 병합 된 파일을 열고 손으로 병합 충돌을 해결 다음과 같이
이-D NAME --ifdef=NAME
Output merged file to show `#ifdef NAME' diffs.
당신은 그것을 사용할 수 있습니다. 또한 출력 발기 부전 스크립트 옵션을 사용할 수 있습니다
등
/사용 DIFF와 함께 두 개의 파일을 결합 -
diff --line-format %L file1 file2
난에 정력을 사용하여 같은 사람들이 많이 알고 diff 모드를 사용하고 있으며 세 개의 버퍼 (old, merge, 'new')를 더 잘 작동시키는 몇 가지 플러그인이 있습니다. – demure
무엇이 문제입니까? 가지고 싶지 않은 패치 부분을 삭제 한 다음 파일을 패치하십시오. [git cherry picking] (https://www.kernel.org/pub/software/scm/git/docs/git-cherry-pick.html)에 대해서도 유의하십시오. 이것은 정확히 당신이하고 싶은 일입니다. – hek2mgl