形式
diff[-a][-b][-i][-s][-w][-c行数|-C 行数|-q|-u行数|-U 行数][-L ラベル] パス名1 パス名2
diff[-a][-b][-i][-r][-s][-w][-c行数|-C 行数|-q|-u行数|-U 行数][-L ラベル] ディレクトリ名1 ディレクトリ名2
機能
2つのファイルや標準入力を比較します。
引数
出力形式
diffコマンドによる差異の表示形式には次に示す3つがあります。指定するオプションによって,どの出力形式になるかが決まります。
形式 | 意味 |
---|---|
通常表示形式 | -c,-C,-q,-u,-Uオプション指定時以外の表示形式です。2つのファイルの差異を表示します。 2つのファイルの差異の開始位置,終了位置および差異を表示します。2つのファイルの差異の開始位置と終了位置の間の記号の意味を次に示します。
|
コンテキスト形式 | -c,-Cオプションを指定した場合の表示形式です。出力では差異がある行に加えて前後の変更されていない行も表示します。差異のない行を何行分表示するかは指定できます。デフォルトでは3行分表示します。 ヘッダには2つのファイルの情報を次のように表示します。
差異のある行が隣接する場合は1つの差異の固まりとして扱います。しかし,差異のある行が離れている場合は再度15個のアスタリスク(*)を表示し,差異を表示します。 |
ユニファイド形式 | -u,-Uオプションを指定した場合の表示形式です。出力はコンテキスト形式の出力を1つのセクションとして表示しています。差異のない行を何行分表示するかは指定できます。デフォルトでは3行分表示します。 ヘッダには2つのファイルの情報を次のように表示します。
変更があった行は,削除された行,追加された行として表されます。 差異のある行が隣接する場合は1つの差異の固まりとして扱います。しかし,差異のある行が離れている場合は再度2つのアットマーク(@)で始まる2つのファイルの差異の開始位置と終了位置を表示し,差異を表示します。 |
通常表示形式の例
通常表示形式の出力例を次に示します。
C:¥USR¥JP1¥oscmd¥bin>diff file1 file2 |
コンテキスト形式の例
C:¥USR¥JP1¥oscmd¥bin>diff -c file1 file2 |
ユニファイド形式の例
C:¥USR¥JP1¥oscmd¥bin>diff -u file1 file2 |
戻り値
戻り値 | 意味 |
---|---|
0 | ファイルは同一です。 |
1 | ファイルは異なっています。 |
2以上 | エラー終了 |
注意事項
使用例
diffコマンドを実行した結果表示に使用する入力ファイルの形式を次に示します。「△」はスペース,「→」はタブを表します。
aaaaaaaaaaa |
aaAAAAAaaaa |
aaaaaaaaaaa |
aaaaaaaaaaa |
C:¥TEMP>%ADSH_OSCMD_DIR%¥diff abc.txt abcd.txt
1c1
< aaaaaaaaaaa
---
> aaAAAAAaaaa
3c3
< bbbbbbbb
---
> bbBBBbbb
7,10c7,10
<
< → → →
<
< △△△△△△△△△△△
---
> △△△△△△△△△△△△△△△△
> △△△△△△△△△△△△△△△△△△
> △△△△△△△△△△△△△△△
> △△△△△△△△△△△△△△△△△△△△△△△△△△△
12c12
< △△△eeeeeeeeeeee
---
> eeeeeeeeeeee
C:¥TEMP>%ADSH_OSCMD_DIR%¥diff -b abc.txt abcd.txt
1c1
< aaaaaaaaaaa
---
> aaAAAAAaaaa
3c3
< bbbbbbbb
---
> bbBBBbbb
12c12
< △△△eeeeeeeeeeee
---
> eeeeeeeeeeee
C:¥TEMP>%ADSH_OSCMD_DIR%¥diff -i abc.txt abcd.txt
7,10c7,10
<
< → → →
<
< △△△△△△△△△△△
---
> △△△△△△△△△△△△△△△△
> △△△△△△△△△△△△△△△△△△
> △△△△△△△△△△△△△△△
> △△△△△△△△△△△△△△△△△△△△△△△△△△△
12c12
< △△△eeeeeeeeeeee
---
> eeeeeeeeeeee
C:¥TEMP>%ADSH_OSCMD_DIR%¥diff -s abc.txt abc.txt
Files abc.txt and abc.txt are identical
C:¥TEMP>%ADSH_OSCMD_DIR%¥diff -w abc.txt abcd.txt
1c1
< aaaaaaaaaaa
---
> aaAAAAAaaaa
3c3
< bbbbbbbb
---
> bbBBBbbb
C:¥TEMP>%ADSH_OSCMD_DIR%¥diff -q abc.txt abcd.txt
Files abc.txt and abcd.txt differ
C:¥TEMP>%ADSH_OSCMD_DIR%¥diff -c ..¥dir1¥wxy.txt ..¥dir1¥wxyz.txt
*** wxy.txt Thu May 12 20:17:54 2011
--- wxyz.txt Thu May 12 20:18:29 2011
***************
*** 1,10 ****
aaaaaaaaaaa
! bbbbbbbb
xxxxxxxxxxxxxx
cccccccccccccccc
dddddddddddd
- eeeeeeeeeeee
fffffffffffffff
ggggggggg
--- 1,10 ----
aaaaaaaaaaa
! bbbBBBbb
xxxxxxxxxxxxxx
cccccccccccccccc
dddddddddddd
fffffffffffffff
ggggggggg
+ hhhhhhhhhhhhhhhhhh
C:¥TEMP>%ADSH_OSCMD_DIR%¥diff -u ..¥dir1¥wxy.txt ..¥dir1¥wxyz.txt
--- wxy.txt Thu May 12 20:17:54 2011
+++ wxyz.txt Thu May 12 20:18:29 2011
@@ -1,10 +1,10 @@
aaaaaaaaaaa
-bbbbbbbb
+bbbBBBbb
xxxxxxxxxxxxxx
cccccccccccccccc
dddddddddddd
-eeeeeeeeeeee
fffffffffffffff
ggggggggg
+hhhhhhhhhhhhhhhhhh
C:¥TEMP>%ADSH_OSCMD_DIR%¥diff -C1 wxy.txt wxyz.txt
*** wxy.txt Thu May 12 20:17:54 2011
--- wxyz.txt Thu May 12 20:18:29 2011
***************
*** 2,4 ****
! bbbbbbbb
xxxxxxxxxxxxxx
--- 2,4 ----
! bbbBBBbb
xxxxxxxxxxxxxx
***************
*** 7,10 ****
dddddddddddd
- eeeeeeeeeeee
fffffffffffffff
ggggggggg
--- 7,10 ----
dddddddddddd
fffffffffffffff
ggggggggg
+ hhhhhhhhhhhhhhhhhh
C:¥TEMP>%ADSH_OSCMD_DIR%¥diff -U1 wxy.txt wxyz.txt
--- wxy.txt Thu May 12 20:17:54 2011
+++ wxyz.txt Thu May 12 20:18:29 2011
@@ -2,3 +2,3 @@
-bbbbbbbb
+bbbBBBbb
xxxxxxxxxxxxxx
@@ -7,4 +7,4 @@
dddddddddddd
-eeeeeeeeeeee
fffffffffffffff
ggggggggg
+hhhhhhhhhhhhhhhhhh
C:¥TEMP>%ADSH_OSCMD_DIR%¥diff -L name1 -c abc.txt abcd.txt
*** name1
--- abcd.txt Thu May 12 20:36:44 2011
***************
*** 1,12 ****
! aaaaaaaaaaa
! bbbbbbbb
△△△△△△△
cccccccccccccccc
!
! → → →
!
! △△△△△△△△△△△
dddddddddddd
! △△△eeeeeeeeeeee
--- 1,12 ----
! aaAAAAAaaaa
! bbBBBbbb
△△△△△△△
cccccccccccccccc
! △△△△△△△△△△△△△△△△
! △△△△△△△△△△△△△△△△△△
! △△△△△△△△△△△△△△△
! △△△△△△△△△△△△△△△△△△△△△△△△△△△
dddddddddddd
! eeeeeeeeeeee
C:¥TEMP>%ADSH_OSCMD_DIR%¥diff binaryfile1 binaryfile2
Binary files binaryfile1 and binaryfile2 differ
C:¥TEMP>%ADSH_OSCMD_DIR%¥diff -z
diff: illegal option -- z
usage: diff [-abisw] [-c[number] | -C number | -q | -u[number] | -U number]
[-L label] file1 file2
diff [-abirsw] [-c[number] | -C number | -q | -u[number] | -U number]
[-L label] dir1 dir2
C:¥TEMP>%ADSH_OSCMD_DIR%¥diff file99 file123
diff: file99: No such file or directory