SlideShare a Scribd company logo
diff Output Formats



                      안오균
diff
$ diff foo bar

• 두 파일을 라인 단위로 비교한다.
• diff <원본 파일> <새 파일>
diff Output Formats
• diff의 대표적인 출력 포맷은 다음과 같다.

  – Normal Format
  – Context Format
  – Unified Format
Normal Format
$ diff foo bar

• diff의 기본 출력 옵션으로,
• 두 파일의 변경된 라인만 출력한다.
• 변경된 부분을 명확하게 파악할 수 있지만,
  변경된 라인 주변의 데이터 파악이 어렵다.
예제 텍스트
<원본 파일:foo>   <새 파일:bar>
1 Hello,      1 Hello,
2 I am foo.   2 I am bar.
3 a           3 a
4 b           4 c
5 c           5 d
6 d           6 e
7 e           7 f
8             8 g
              9
Normal Format: 출력 예제
$ diff foo bar
2c2
< I am foo.
---
> I am bar.
4d3
< b
7a7,8
> f
> g
Normal Format: 출력 형태
• 변경 상태를 나타내는 키워드 이후에,
  원본 파일과 새 파일의 라인을 번갈아 출력한다.

 변경 키워드
 < 원본 파일 라인
 < 원본 파일 라인...
 ---
 > 새 파일 라인
 > 새 파일 라인...
Normal Format: 변경 키워드
• 변경 키워드는 변경의 상태를 나타내는 것으로,
  추가/삭제/변경을 의미하는 a,d,c가 있다.

 a : 추가(added)
 d : 삭제(deleted)
 c : 변경(changed)
Normal Format: added
추가됨(added)

형태: (1)a[2]
예제: 7a7,8
의미:
 원본 파일의 (1)라인 이후에,
 새 파일의 범위 [2]만큼의 라인이 추가됨.
Normal Format: changed
변경됨(changed)

형태: [1]c[2]
예제: 5,7c8,10
의미:
 원본 파일의 범위 [1]만큼의 라인이,
 새 파일의 범위 [2]만큼의 라인으로 변경됨.
Normal Format: deleted
삭제됨(deleted)

형태: [1]d(2)
예제: 5,7d3
의미:
 원본 파일의 범위 [1]만큼의 라인이 삭제됨.
 새 파일의 (2)라인에 해당함.
Normal Format: 출력 예제(상세)
$ diff foo bar
2c2 # 원본 파일의 2라인이 새 파일의 2라인으로 변경됨
< I am foo. # 원본 파일 라인(삭제됨)
---
> I am bar. # 새 파일 라인(추가됨)
4d3 # 원본 파일의 4라인이 삭제됨
< b
7a7,8 # 원본의 7라인에 새 파일의 7,8라인이 추가됨
> f
> g
Context Format
$ diff -c foo bar

• `-c` 옵션을 사용하며,
  변경된 라인 전/후의 라인을 함께 출력한다.
• 변경된 라인의 주변을 확인할 수 있기 때문에,
  정확하게 어떤 것이 변경되었는지 파악할 수 있다.
• 주로 소스코드를 배포할 때 사용한다.
• `-C 라인수`, `--context[=라인수]` 옵션으로,
  출력할 주변 라인의 개수를 설정할 수 있다.
  (기본 3개)
예제 텍스트
<원본 파일:foo>   <새 파일:bar>
1 Hello,      1 Hello,
2 I am foo.   2 I am bar.
3 a           3 a
4 b           4 c
5 c           5 d
6 d           6 e
7 e           7 f
8             8 g
              9
Context Format: 출력 예제
$ diff -c foo bar    (좌측에서 계속)
*** foo 2013-01-29   --- 1,8 ----
--- bar 2013-01-29     Hello,
***************      ! I am bar,
*** 1,7 ****           a
  Hello,               c
! I am foo.            d
  a                    e
- b                  + f
  c                  + g
  d
  e
Context Format: 출력 예제
$ diff -C 1 foo bar   (좌측에서 계속)
*** foo 2013-01-29    ! I am bar,
--- bar 2013-01-29      a
***************         c
*** 1,5 ****          ***************
  Hello,              *** 7 ****
! I am foo,           --- 6,8 ----
  a                     e
- b                   + f
  c                   + g
--- 1,4 ----
  Hello,
Context Format: 출력 형태
• 각 파일의 이름과 수정시각을 나타내는 헤더 이후에,
  각 파일에서 변경된 라인 부분을 출력한다.
• 옵션으로 넘긴 라인수만큼(기본 3개),
  변경된 라인의 전/후 라인도 함께 출력한다.

 *** 원본파일 수정시각
 --- 새파일 수정시각
 ***************
 *** 원본 파일 범위 ****
 [변경 키워드] 원본 파일 라인
 --- 새 파일 범위 ----
 [변경 키워드] 새 파일 라인
Context Format: 변경 키워드
• 각 파일에서 변경된 라인은,
  변경 키워드와 공백 이후에 출력된다.
  변경되지 않은 라인은 2개의 공백 이후 출력한다.

• 변경    키워드는 다음과 같다.
  ! :   변경됨
  + :   새 파일에 추가됨
  - :   원본 파일에서 삭제됨
Context Format: 출력 예제(상세)
$ diff -c foo bar
*** foo 2013-01-29 # 원본 파일의 이름과 수정 시각
--- bar 2013-01-29 # 새 파일의 이름과 수정 시각
***************
*** 1,7 **** # 원본 파일의 1~7라인이 변경됨
  Hello,
! I am foo. # 변경된 라인
  a
- b # 삭제된 라인
  c # 변경된 라인 주변 3라인을 출력 (첫번째 라인)
  d # (두번째 라인)
  e # (세번째 라인)
Context Format: 출력 예제(상세)
(이전 페이지에서 계속)
--- 1,8 ----
  Hello,
! I am bar, # 변경된 라인
  a
  c # 변경된 라인 전/후로 3라인이 여기까지 겹치므로,
  d # 모두 한 번에 출력된다.
  e
+ f # 추가된 라인
+ g # 추가된 라인
Context Format: 출력 예제(상세)
$ diff -C 1 foo bar # 주변 라인 1개까지만 출력한다.
*** foo 2013-01-29
--- bar 2013-01-29
***************
*** 1,5 ****
  Hello,
! I am foo,
  a
- b
  c # 변경 라인 이후의 1개 라인만 출력됨
--- 1,4 ----
  Hello,
Context Format: 출력 예제(상세)
(이전 페이지에서 계속)
! I am bar,
  a
  c
***************
*** 7 **** # 주변 라인을 1개만 출력하면 변경 부분이
--- 6,8 ---- # 겹치지 않으므로, 분리해 출력한다.
  e # 마찬가지로, 변경 라인 전의 1라인만 출력됨
+ f
+ g # 변경 라인이자 파일의 마지막이다
Unified Format
$ diff -u foo bar

• `-u` 옵션을 사용하며,
  `-U 라인수`, `--unified[=라인수]` 옵션으로
  주변 라인 개수를 설정할 수 있다.
• Context Format과 비슷하지만,
  변경된 부분의 주변 라인의 중복을 제거하고,
  두 파일의 변화를 한 번에 볼 수 있어 간략하다.
예제 텍스트
<원본 파일:foo>   <새 파일:bar>
1 Hello,      1 Hello,
2 I am foo.   2 I am bar.
3 a           3 a
4 b           4 c
5 c           5 d
6 d           6 e
7 e           7 f
8             8 g
              9
Unified Format: 출력 예제
$ diff -u foo bar    (좌측에서 계속)
--- foo 2013-01-29   +f
+++ bar 2013-01-29   +g
@@ -1,7 +1,8 @@
 Hello,
-I am foo.
+I am bar.
 a
-b
 c
 d
 e
Unified Format: 출력 예제
$ diff -U 1 foo bar   (좌측에서 계속)
--- foo 2013-01-29    +f
+++ bar 2013-01-29    +g
@@ -1,5 +1,4 @@
 Hello,
-I am foo.
+I am bar.
 a
-b
 c
@@ -7 +6,3
 e
Unified Format: 출력 형태
• 각 파일의 이름과 수정시각을 나타내는 헤더 이후에,
  두 파일의 변경 부분을 함께 출력한다.
• 변경 부분의 시작에는 각 파일의 변경 범위를 출력하고,
  이후에 각 라인이 출력된다.

 --- 원본파일 수정시각
 +++ 새파일 수정시각
 @@ -원본파일범위 +새파일범위 @@
 [변경 키워드]각 파일의 라인
Unified Format: 변경 키워드
• 출력되는 각 라인은,
  변경된 경우 변경 키워드로 시작하고,
  변경되지 않은 경우 공백으로 시작한다.

• 변경 키워드는 다음과 같다.
  + : 새 파일에 추가됨
  - : 원본 파일에서 삭제됨
Unified Format: 출력 예제(상세)
$ diff -u foo bar
--- foo 2013-01-29
+++ bar 2013-01-29
@@ -1,7 +1,8 @@ # 원본파일의 1,7라인이
 Hello,         # 새 파일의 1,8라인으로 변경됨
-I am foo. # 원본 파일에서 삭제되고,
+I am bar. # 새 파일에 추가됨.
 a
-b # 변경 키워드 이후에 바로 라인이 출력되고,
 c # 변경되지 않은 경우 공백 이후에 출력됨
 d
 e
Unified Format: 출력 예제(상세)
(이전 페이지에서 계속)
+f
+g
Unified Format: 출력 예제(상세)
$ diff -U 1 foo bar # 주변 라인을 1라인만 출력함
--- foo 2013-01-29
+++ bar 2013-01-29
@@ -1,5 +1,4 @@
 Hello,
-I am foo.
+I am bar.
 a
-b
 c # 변경 라인 이후 1개 라인까지만 출력
@@ -7 +6,3 # 주변 라인의 개수가 1라인이므로,
 e         # 변경 부분을 분리해서 출력함
Unified Format: 출력 예제(상세)
(이전 페이지에서 계속)
+f
+g
정리
• diff의 대표적인 출력 포맷은 다음과 같다.

 Normal Format: diff foo bar
 Context Format: diff -c foo bar
 Unified Format: diff -u foo bar
참고
• http://unixhelp.ed.ac.uk/CGI/man-cgi?diff
• http://en.wikipedia.org/wiki/Diff
• http://www.chemie.fu-
  berlin.de/chemnet/use/info/diff/diff_3.html#SEC10

More Related Content

Similar to diff output formats (20)

PDF
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
민태 김
 
PDF
Git - Level 2
민태 김
 
PPT
Git from google techtalks by Randal
yagurchoi
 
PDF
Introduction to Linux #1
UNIST
 
PDF
Git 과 GitHub 를 이용한 버전관리와 협업 - 2주차A - 비교하기와 되돌리기
Youngbin Han
 
PDF
Git 코드랩 스터디 2
승빈이네 공작소
 
PDF
[NEXT 프연 Week2] UNIX 명령어 간단하게 살펴보기
Young-Ho Cho
 
PDF
Perl Script Document
오석 한
 
PDF
제로부터시작하는Git
Mario Cho
 
PDF
Git을 조금 더 알아보자!
Young Kim
 
PDF
Linux tutorial
Hyun-hwan Jeong
 
PDF
OSS SW Basics Lecture 08: Software Configuration Management (2)
Jeongkyu Shin
 
PDF
Git CLI 기초 - 리눅스 명령어, 커밋, 로그, 상태, 스테이지, 설정, 푸쉬, 풀
주형 고
 
PDF
About git
혜승 이
 
PPTX
Git
Yong Min Lee
 
PDF
Perl Script
오석 한
 
PDF
Add 에 대해서 알아보자. 의미 있는 변경 이력과 Patch - 2022년 3월 31일 Git 세미나
Kim Muhun
 
PDF
[NDC16] Effective Git
Chanwoong Kim
 
PDF
정규표현식 Regular expression (regex)
Sunyoung Kim
 
PDF
[부스트캠프 Tech talk] 최영근 80x24 크기의 세계로
CONNECT FOUNDATION
 
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
민태 김
 
Git - Level 2
민태 김
 
Git from google techtalks by Randal
yagurchoi
 
Introduction to Linux #1
UNIST
 
Git 과 GitHub 를 이용한 버전관리와 협업 - 2주차A - 비교하기와 되돌리기
Youngbin Han
 
Git 코드랩 스터디 2
승빈이네 공작소
 
[NEXT 프연 Week2] UNIX 명령어 간단하게 살펴보기
Young-Ho Cho
 
Perl Script Document
오석 한
 
제로부터시작하는Git
Mario Cho
 
Git을 조금 더 알아보자!
Young Kim
 
Linux tutorial
Hyun-hwan Jeong
 
OSS SW Basics Lecture 08: Software Configuration Management (2)
Jeongkyu Shin
 
Git CLI 기초 - 리눅스 명령어, 커밋, 로그, 상태, 스테이지, 설정, 푸쉬, 풀
주형 고
 
About git
혜승 이
 
Perl Script
오석 한
 
Add 에 대해서 알아보자. 의미 있는 변경 이력과 Patch - 2022년 3월 31일 Git 세미나
Kim Muhun
 
[NDC16] Effective Git
Chanwoong Kim
 
정규표현식 Regular expression (regex)
Sunyoung Kim
 
[부스트캠프 Tech talk] 최영근 80x24 크기의 세계로
CONNECT FOUNDATION
 

More from Ohgyun Ahn (17)

PDF
호갱노노 이렇게 만듭니다
Ohgyun Ahn
 
PDF
ES6: RegExp.prototype.unicode 이해하기
Ohgyun Ahn
 
PDF
Node.js 시작하기
Ohgyun Ahn
 
PDF
JavaScript Memory Profiling
Ohgyun Ahn
 
PDF
JavaScript Minification
Ohgyun Ahn
 
PDF
JavaSript Template Engine
Ohgyun Ahn
 
PDF
Github Usage Scenarios
Ohgyun Ahn
 
PDF
Javascript hoisting
Ohgyun Ahn
 
PDF
패키지 매니저의 요건
Ohgyun Ahn
 
PDF
BASH Guide Summary
Ohgyun Ahn
 
PDF
Python Usage (5-minute-summary)
Ohgyun Ahn
 
PDF
UX 심포지엄 20120 키노트 정리
Ohgyun Ahn
 
PDF
크롬익스텐션 맛보기
Ohgyun Ahn
 
PDF
재미있는 생산성 향상 도구
Ohgyun Ahn
 
PDF
Raphael.js로 SVG 차트 만들기
Ohgyun Ahn
 
PDF
깃헙으로 코드리뷰 하기
Ohgyun Ahn
 
PDF
Recurrence relation
Ohgyun Ahn
 
호갱노노 이렇게 만듭니다
Ohgyun Ahn
 
ES6: RegExp.prototype.unicode 이해하기
Ohgyun Ahn
 
Node.js 시작하기
Ohgyun Ahn
 
JavaScript Memory Profiling
Ohgyun Ahn
 
JavaScript Minification
Ohgyun Ahn
 
JavaSript Template Engine
Ohgyun Ahn
 
Github Usage Scenarios
Ohgyun Ahn
 
Javascript hoisting
Ohgyun Ahn
 
패키지 매니저의 요건
Ohgyun Ahn
 
BASH Guide Summary
Ohgyun Ahn
 
Python Usage (5-minute-summary)
Ohgyun Ahn
 
UX 심포지엄 20120 키노트 정리
Ohgyun Ahn
 
크롬익스텐션 맛보기
Ohgyun Ahn
 
재미있는 생산성 향상 도구
Ohgyun Ahn
 
Raphael.js로 SVG 차트 만들기
Ohgyun Ahn
 
깃헙으로 코드리뷰 하기
Ohgyun Ahn
 
Recurrence relation
Ohgyun Ahn
 
Ad

diff output formats

  • 2. diff $ diff foo bar • 두 파일을 라인 단위로 비교한다. • diff <원본 파일> <새 파일>
  • 3. diff Output Formats • diff의 대표적인 출력 포맷은 다음과 같다. – Normal Format – Context Format – Unified Format
  • 4. Normal Format $ diff foo bar • diff의 기본 출력 옵션으로, • 두 파일의 변경된 라인만 출력한다. • 변경된 부분을 명확하게 파악할 수 있지만, 변경된 라인 주변의 데이터 파악이 어렵다.
  • 5. 예제 텍스트 <원본 파일:foo> <새 파일:bar> 1 Hello, 1 Hello, 2 I am foo. 2 I am bar. 3 a 3 a 4 b 4 c 5 c 5 d 6 d 6 e 7 e 7 f 8 8 g 9
  • 6. Normal Format: 출력 예제 $ diff foo bar 2c2 < I am foo. --- > I am bar. 4d3 < b 7a7,8 > f > g
  • 7. Normal Format: 출력 형태 • 변경 상태를 나타내는 키워드 이후에, 원본 파일과 새 파일의 라인을 번갈아 출력한다. 변경 키워드 < 원본 파일 라인 < 원본 파일 라인... --- > 새 파일 라인 > 새 파일 라인...
  • 8. Normal Format: 변경 키워드 • 변경 키워드는 변경의 상태를 나타내는 것으로, 추가/삭제/변경을 의미하는 a,d,c가 있다. a : 추가(added) d : 삭제(deleted) c : 변경(changed)
  • 9. Normal Format: added 추가됨(added) 형태: (1)a[2] 예제: 7a7,8 의미: 원본 파일의 (1)라인 이후에, 새 파일의 범위 [2]만큼의 라인이 추가됨.
  • 10. Normal Format: changed 변경됨(changed) 형태: [1]c[2] 예제: 5,7c8,10 의미: 원본 파일의 범위 [1]만큼의 라인이, 새 파일의 범위 [2]만큼의 라인으로 변경됨.
  • 11. Normal Format: deleted 삭제됨(deleted) 형태: [1]d(2) 예제: 5,7d3 의미: 원본 파일의 범위 [1]만큼의 라인이 삭제됨. 새 파일의 (2)라인에 해당함.
  • 12. Normal Format: 출력 예제(상세) $ diff foo bar 2c2 # 원본 파일의 2라인이 새 파일의 2라인으로 변경됨 < I am foo. # 원본 파일 라인(삭제됨) --- > I am bar. # 새 파일 라인(추가됨) 4d3 # 원본 파일의 4라인이 삭제됨 < b 7a7,8 # 원본의 7라인에 새 파일의 7,8라인이 추가됨 > f > g
  • 13. Context Format $ diff -c foo bar • `-c` 옵션을 사용하며, 변경된 라인 전/후의 라인을 함께 출력한다. • 변경된 라인의 주변을 확인할 수 있기 때문에, 정확하게 어떤 것이 변경되었는지 파악할 수 있다. • 주로 소스코드를 배포할 때 사용한다. • `-C 라인수`, `--context[=라인수]` 옵션으로, 출력할 주변 라인의 개수를 설정할 수 있다. (기본 3개)
  • 14. 예제 텍스트 <원본 파일:foo> <새 파일:bar> 1 Hello, 1 Hello, 2 I am foo. 2 I am bar. 3 a 3 a 4 b 4 c 5 c 5 d 6 d 6 e 7 e 7 f 8 8 g 9
  • 15. Context Format: 출력 예제 $ diff -c foo bar (좌측에서 계속) *** foo 2013-01-29 --- 1,8 ---- --- bar 2013-01-29 Hello, *************** ! I am bar, *** 1,7 **** a Hello, c ! I am foo. d a e - b + f c + g d e
  • 16. Context Format: 출력 예제 $ diff -C 1 foo bar (좌측에서 계속) *** foo 2013-01-29 ! I am bar, --- bar 2013-01-29 a *************** c *** 1,5 **** *************** Hello, *** 7 **** ! I am foo, --- 6,8 ---- a e - b + f c + g --- 1,4 ---- Hello,
  • 17. Context Format: 출력 형태 • 각 파일의 이름과 수정시각을 나타내는 헤더 이후에, 각 파일에서 변경된 라인 부분을 출력한다. • 옵션으로 넘긴 라인수만큼(기본 3개), 변경된 라인의 전/후 라인도 함께 출력한다. *** 원본파일 수정시각 --- 새파일 수정시각 *************** *** 원본 파일 범위 **** [변경 키워드] 원본 파일 라인 --- 새 파일 범위 ---- [변경 키워드] 새 파일 라인
  • 18. Context Format: 변경 키워드 • 각 파일에서 변경된 라인은, 변경 키워드와 공백 이후에 출력된다. 변경되지 않은 라인은 2개의 공백 이후 출력한다. • 변경 키워드는 다음과 같다. ! : 변경됨 + : 새 파일에 추가됨 - : 원본 파일에서 삭제됨
  • 19. Context Format: 출력 예제(상세) $ diff -c foo bar *** foo 2013-01-29 # 원본 파일의 이름과 수정 시각 --- bar 2013-01-29 # 새 파일의 이름과 수정 시각 *************** *** 1,7 **** # 원본 파일의 1~7라인이 변경됨 Hello, ! I am foo. # 변경된 라인 a - b # 삭제된 라인 c # 변경된 라인 주변 3라인을 출력 (첫번째 라인) d # (두번째 라인) e # (세번째 라인)
  • 20. Context Format: 출력 예제(상세) (이전 페이지에서 계속) --- 1,8 ---- Hello, ! I am bar, # 변경된 라인 a c # 변경된 라인 전/후로 3라인이 여기까지 겹치므로, d # 모두 한 번에 출력된다. e + f # 추가된 라인 + g # 추가된 라인
  • 21. Context Format: 출력 예제(상세) $ diff -C 1 foo bar # 주변 라인 1개까지만 출력한다. *** foo 2013-01-29 --- bar 2013-01-29 *************** *** 1,5 **** Hello, ! I am foo, a - b c # 변경 라인 이후의 1개 라인만 출력됨 --- 1,4 ---- Hello,
  • 22. Context Format: 출력 예제(상세) (이전 페이지에서 계속) ! I am bar, a c *************** *** 7 **** # 주변 라인을 1개만 출력하면 변경 부분이 --- 6,8 ---- # 겹치지 않으므로, 분리해 출력한다. e # 마찬가지로, 변경 라인 전의 1라인만 출력됨 + f + g # 변경 라인이자 파일의 마지막이다
  • 23. Unified Format $ diff -u foo bar • `-u` 옵션을 사용하며, `-U 라인수`, `--unified[=라인수]` 옵션으로 주변 라인 개수를 설정할 수 있다. • Context Format과 비슷하지만, 변경된 부분의 주변 라인의 중복을 제거하고, 두 파일의 변화를 한 번에 볼 수 있어 간략하다.
  • 24. 예제 텍스트 <원본 파일:foo> <새 파일:bar> 1 Hello, 1 Hello, 2 I am foo. 2 I am bar. 3 a 3 a 4 b 4 c 5 c 5 d 6 d 6 e 7 e 7 f 8 8 g 9
  • 25. Unified Format: 출력 예제 $ diff -u foo bar (좌측에서 계속) --- foo 2013-01-29 +f +++ bar 2013-01-29 +g @@ -1,7 +1,8 @@ Hello, -I am foo. +I am bar. a -b c d e
  • 26. Unified Format: 출력 예제 $ diff -U 1 foo bar (좌측에서 계속) --- foo 2013-01-29 +f +++ bar 2013-01-29 +g @@ -1,5 +1,4 @@ Hello, -I am foo. +I am bar. a -b c @@ -7 +6,3 e
  • 27. Unified Format: 출력 형태 • 각 파일의 이름과 수정시각을 나타내는 헤더 이후에, 두 파일의 변경 부분을 함께 출력한다. • 변경 부분의 시작에는 각 파일의 변경 범위를 출력하고, 이후에 각 라인이 출력된다. --- 원본파일 수정시각 +++ 새파일 수정시각 @@ -원본파일범위 +새파일범위 @@ [변경 키워드]각 파일의 라인
  • 28. Unified Format: 변경 키워드 • 출력되는 각 라인은, 변경된 경우 변경 키워드로 시작하고, 변경되지 않은 경우 공백으로 시작한다. • 변경 키워드는 다음과 같다. + : 새 파일에 추가됨 - : 원본 파일에서 삭제됨
  • 29. Unified Format: 출력 예제(상세) $ diff -u foo bar --- foo 2013-01-29 +++ bar 2013-01-29 @@ -1,7 +1,8 @@ # 원본파일의 1,7라인이 Hello, # 새 파일의 1,8라인으로 변경됨 -I am foo. # 원본 파일에서 삭제되고, +I am bar. # 새 파일에 추가됨. a -b # 변경 키워드 이후에 바로 라인이 출력되고, c # 변경되지 않은 경우 공백 이후에 출력됨 d e
  • 30. Unified Format: 출력 예제(상세) (이전 페이지에서 계속) +f +g
  • 31. Unified Format: 출력 예제(상세) $ diff -U 1 foo bar # 주변 라인을 1라인만 출력함 --- foo 2013-01-29 +++ bar 2013-01-29 @@ -1,5 +1,4 @@ Hello, -I am foo. +I am bar. a -b c # 변경 라인 이후 1개 라인까지만 출력 @@ -7 +6,3 # 주변 라인의 개수가 1라인이므로, e # 변경 부분을 분리해서 출력함
  • 32. Unified Format: 출력 예제(상세) (이전 페이지에서 계속) +f +g
  • 33. 정리 • diff의 대표적인 출력 포맷은 다음과 같다. Normal Format: diff foo bar Context Format: diff -c foo bar Unified Format: diff -u foo bar
  • 34. 참고 • http://unixhelp.ed.ac.uk/CGI/man-cgi?diff • http://en.wikipedia.org/wiki/Diff • http://www.chemie.fu- berlin.de/chemnet/use/info/diff/diff_3.html#SEC10