파일을 행 별로 비교합니다.
긴 옵션의 필수 인자값은 짧은 옵션에서도 마찬가지입니다.
- --normal
- 일반 비교 결과를 출력합니다 (기본 동작)
- -q, --brief
- 파일이 다를 때만 보고
- -s, --report-identical-files
- 두 파일이 같을 때 보고
- -c, -C 숫자, --context[=숫자]
- 복제 컨텍스트 숫자(기본값 3)행 만큼 출력
- -u, -U 숫자, --unified[=숫자]
- 단일 컨텍스트 숫자(기본값 3)행 만큼 출력
- -e, --ed
- ed(1) 스크립트 출력
- -n, --rcs
- RCS 형식 비교 내용 출력
- -y, --side-by-side
- 두 컬럼으로 출력
- -W, --width=숫자
- 최대 숫자(기본값 130) 출력 컬럼만큼 출력
- --left-column
- 공통 행의 좌측 컬럼만 출력
- --suppress-common-lines
- 공통 행은 출력하지 않음
- -p, --show-c-function
- 어떤 C 함수가 바뀌었는지 표시
- -F, --show-function-line=RE
- RE와 일치하는 가장 최근 행 표시
- --label 레이블
- 파일 이름과 타임스탬프 대신 레이블 활용 (반복할 수 있음)
- -t, --expand-tabs
- 출력시 탭을 공백 칸으로 변환
- -T, --initial-tab
- 여러 탭을 탭인 것처럼 줄을 맞춤
- --tabsize=숫자
- 모든 숫자(기본값 8) 출력 컬럼마다 탭 배치
- --suppress-blank-empty
- 빈 출력행 앞의 공백문자 내지는 탭 무시
- -l, --paginate
- pr(1)EN로 페이지 분할하여 출력 건너뛰기
- -r, --recursive
- 하위 디렉터리를 찾으면 재귀적으로 비교
- --no-dereference
- 심볼릭 링크를 따라가지 않음
- -N, --new-file
- 누락 파일을 빈 파일로 취급
- --unidirectional-new-file
- 빠진 첫 줄은 빈 줄로 취급
- --ignore-file-name-case
- 파일 이름 비교시 대소문자 무시
- --no-ignore-file-name-case
- 파일 이름 비교시 대소문자 구분
- -x, --exclude=패턴
- 패턴에 일치하는 파일 제외
- -X, --exclude-from=파일
- 파일 패턴에 일치하는 파일 제외
- -S, --starting-file=파일
- 디렉터리를 비교할 때 파일부터 시작
- --from-file=파일1
- 파일1을 모든 비교 대상과 비교; 파일1은 디렉터리일 수 있음
- --to-file=파일2
- 모든 대상을 파일2와 비교; 파일2는 디렉터리일 수 있음
- -i, --ignore-case
- 파일 내용의 대소문자 차이 무시
- -E, --ignore-tab-expansion
- 탭 변환 바뀜 무시
- -Z, --ignore-trailing-space
- 행 끝 공백 문자 무시
- -b, --ignore-space-change
- 대량의 공백 문자 바뀜 무시
- -w, --ignore-all-space
- 모든 공백 문자 무시
- -B, --ignore-blank-lines
- 빈 행의 바뀜 무시
- -I, --ignore-matching-lines=RE
- 정규 표현식 RE에 일치하는 모든 바뀐 행 무시
- -a, --text
- 모든 파일을 텍스트 파일로 취급
- --strip-trailing-cr
- 입력에 뒤따라오는 캐리지 리턴 문자를 잘라냅니다
- -D, --ifdef=이름
- '#ifdef 이름' 비교로 병합한 파일을 출력합니다
- --GTYPE-group-format=GFMT
- GTYPE 입력 그룹을 GFMT로 서식 지정
- --line-format=LFMT
- 모든 입력 행을 LFMT로 서식 지정
- --LTYPE-line-format=LFMT
- LTYPE 입력 행을 LFMT로 서식 지정
- 이 서식 옵션으로 -D/--ifdef를 일반화하여 diff 출력을 세밀하게
- 조정할 수 있습니다.
- LTYPE은 'old', 'new', 'unchanged'입니다.
- GTYPE은 LTYPE 또는 'changed'입니다.
- GFMT (의 경우에만) 해당:
- %<
- 파일1의 행
- %>
- 파일2의 행
- %=
- 파일1과 파일2의 공통행
- %[-][WIDTH][.[PREC]]{doxX}문자
- 문자에 대한 printf 방식 명세
- 문자는 다음의 경우 new 그룹, 소문자는 old 그룹에 해당합니다:
- F
- 첫 행 번호
- L
- 마지막 행 번호
- N
- 행 갯수 = L-F+1
- E
- F-1
- M
- L+1
- %(A=B?T:E)
- A와 B가 같으면 T, 아니면 E
- LFMT (의 경우에만) 해당:
- %L
- 행 내용
- %l
- 개행 문자를 제외한 행 내용
- %[-][WIDTH][.[PREC]]{doxX}n
- 입력 행 번호의 printf 방식 명세
- GFMT와 LFMT 모두에 해당:
- %%
- %
- %c'C'
- 단일 문자 C이스케이프 문자
- %c'\OOO'
- 문자와 8진수 코드 OOO
- C
- 문자 C (다른 문자는 문자 그 자체를 나타냄)
- -d, --minimal
- 적게 바뀐 내용을 최대한 검색
- --horizon-lines=숫자
- 공통 접두, 접미부의 숫자 행은 유지합니다
- --speed-large-files
- 여기저기 작게 바뀐 내용이 많은 큰 파일로 간주
- --color[=시기]
- 색상 출력합니다. 시기 값은 'never', 'always', 'auto' 중 하나입니다; --color 옵션은 --color='auto'를 의미합니다
- --palette=팔레트
- --color 옵션을 지정했을 때 사용할 색상입니다. 팔레트는 terminfo에서 사용할 수 있는 콜론 구분 목록입니다
- --help
- 이 도움말을 표시하고 나갑니다
- -v, --version
- 버전 정보를 출력하고 나갑니다
파일에는 '파일1 파일2', '디렉터리1 디렉터리2', '디렉터리 파일', '파일 디렉터리'가 해당합니다. 파일 값이 '-' 문자라면, 표준 입력을 읽습니다. 종료 상태는 입력이 동일하면 0, 다르면 1, 문제 발생시 2입니다.
Written by Paul Eggert, Mike Haertel, David Hayes, Richard Stallman, and Len Tower.
버그 보고 주소: bug-diffutils@gnu.org
GNU diffutils 홈페이지: <https://www.gnu.org/software/diffutils/>
GNU 소프트웨어 활용 일반 도움말: <https://www.gnu.org/gethelp/>
저작권 © 2023 Free Software Foundation, Inc. 라이선스 GPLv3+: GNU GPL 버전 3 이상 <https://gnu.org/licenses/gpl.html>.
이 프로그램은 자유 소프트웨어입니다: 자유롭게 바꾸고 재배포할 수 있습니다. 법률이 허용하는 모든 범위내의 보증은 없습니다.