나는 2 파일을 diff-ed하고 얻었다
1c1
< 1
---
> 1
두 파일 모두 "1"만 포함했습니다. 이것은 어떻게 다른가요?
-u
옵션을보다 사람이 읽을 수 있습니다.
cp 1 2
), (그래서 2 덮어 쓰기) 다음은 같은 있는지 100 % 나 될 수 있습니다
vimdiff file1 file2
? : D
나는 2 파일을 diff-ed하고 얻었다
1c1
< 1
---
> 1
두 파일 모두 "1"만 포함했습니다. 이것은 어떻게 다른가요?
-u
옵션을보다 사람이 읽을 수 있습니다.
cp 1 2
), (그래서 2 덮어 쓰기) 다음은 같은 있는지 100 % 나 될 수 있습니다
vimdiff file1 file2
? : D
답변:
첫 번째 줄 : a
추가, d
삭제 및 c
변경을 나타냅니다. 원본 파일의 줄 번호는이 문자 앞에 나타나고 수정 된 파일의 줄 번호는 문자 뒤에 나타납니다.
두 번째 줄 : with <
파일은 파일 1에서 왔으며 파일 2와 다릅니다.
세 번째 줄은 디바이더입니다.
네 번째 줄 :와 줄 >
은 파일 2에서 왔으며 파일 1과 다릅니다.
(이것이 보이면 =
두 파일에서 줄이 동일하다는 것을 의미합니다)
그리고 문제는 공백이나 사람이 읽을 수없는 다른 문자 일 수 있습니다.
출력을 조작하는 몇 가지 옵션이 있습니다.
예:
rinzwind @ discworld : ~ $ 더 1 테스트 test2 test3 rinzwind @ discworld : ~ $ 더 2 테스트 test2 test3
상황에 맞는 형식 :
rinzwind @ discworld : ~ $ diff -c 1 2 *** 1 2011-08-13 17 : 05 : 40.433966684 +0200 --- 2 2011-08-13 17 : 11 : 24.369966629 +0200 *************** *** 1,3 **** 테스트 ! test2 test3 --- 1,3 ---- 테스트 ! test2 test3
"!" 는 두 파일에 해당하는 줄 사이의 변경을 나타냅니다. "+"는 줄 추가를 나타내고, 공백은 변경되지 않은 줄을 나타냅니다. 패치 시작 부분에는 전체 경로와 타임 스탬프를 포함한 파일 정보가 있습니다. 각 덩어리의 시작 부분에는 파일의 해당 변경에 적용되는 줄 번호가 있습니다. 3 개의 별표 세트 사이에 나타나는 숫자 범위는 원본 파일에 적용되고 3 개의 대시 세트는 새 파일에 적용됩니다. 덩크 범위는 해당 파일의 시작 및 끝 줄 번호를 지정합니다.
통합 형식에 대한 Lekensteyn의 의견 확대 :
rinzwind @ discworld : ~ $ diff -u 1 2 --- 1 2011-08-13 17 : 05 : 40.433966684 +0200 +++ 2 2011-08-13 17 : 11 : 24.369966629 +0200 @@ -1,3 +1,3 @@ 테스트 -test2 + test2 test3
형식은 컨텍스트 형식과 동일한 2 행 헤더로 시작합니다. 단, 원본 파일 앞에는 "---"가 있고 새 파일 앞에는 "+++"가 있습니다. 다음에는 파일의 줄 차이를 포함하는 하나 이상의 변경 덩어리가 있습니다. 변경되지 않은 상황에 맞는 줄 앞에는 공백 문자가 있고, 추가 줄 앞에는 더하기 부호가 있고, 삭제 줄 앞에는 빼기 부호가 있습니다.
몇 가지 유용한 옵션 :
-b
공백 양의 변화를 무시하십시오.
-w
모든 공백을 무시하십시오.
-B
빈 줄은 모두 무시하십시오.
-y
2 열로 출력됩니다.
man diff
; 에서 복사 )
od -x1z
두 파일 모두에서 실행 하고 od
출력을 비교 합니다. 파일간에 숨겨진 차이점을 찾아야합니다.
나는 인쇄 할 수없는 문자가있는 파일을 비교할 때 od (octal dump)가 편리 하다는 것을 알았습니다 .
아래 예제에서, 원래 파일과 같은 파일 쌍을 만든 다음 원래 출력과 비교할 수 있습니다. 다음으로 몇 가지 다른 "od"출력을 비교합니다.
$ echo 1> 1
$ echo "1"> 2
$ diff 1 2
1c1
< 1
- ---
> 1
$ od -c 1> 1.od
$ od -c 2> 2.od
$ diff 1.od 2.od
1,2c1,2
< 0000000 1 \n
< 0000002
---
> 0000000 1 \n
> 0000003
$ od -Ax -c -t x1 1> 1.od
$ od -Ax -c -t x1 2> 2.od
$ diff 1.od 2.od
1,3c1,3
< 000000 1 \n
< 31 0a
< 000002
---
> 000000 1 \n
> 31 20 0a
> 000003
이것이 공백 문자를 찾기 어려운지 확실하지 않지만 diffing에 편리합니다. http://www.gnu.org/software/wdiff/
http://www.gnu.org/software/diffutils/manual/html_node/Detailed-Unified.html#Detailed-Unified
위의 링크는보다 간결하고 명확한 설명을 제공합니다.