SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

UNIXコマンド辞典

diff

2つのファイルを比較する

対応OS: linux , freebsd, solaris

2015/05/20 08:00

diff [-i] [-r] [-w] PATH1 PATH2

 diffコマンドは、2つのファイルまたはディレクトリを比較して、その内容の違いを出力します。

 PATH1PATH2の両方にファイル名を指定した場合は、2つのファイル内容を比較し、その違いを出力します。

 PATH1PATH2のどちらか一方にファイル名を指定して、他方にディレクトリ名を指定した場合は、ディレクトリ名で指定したディレクトリ内からファイル名で指定したファイルと同じ名前のファイルを検索して、そのファイルと内容を比較します。

 PATH1PATH2の両方にディレクトリ名を指定した場合は、各ディレクトリ内のファイルの中から同じ名前のファイルすべての内容を比較します。この時、一方のディレクトリ内にのみ存在するファイルについては、その旨を出力します。

 内容の違いが出力されるのはテキストファイルだけであり、バイナリファイルの場合は、違いの有無のみを出力します。比較の結果、違いがない場合は何も出力されません。

オプション
① -i
大文字と小文字を区別せずに比較します。
② -r
ディレクトリを比較する場合に、サブディレクトリ内も検索します。
③ -w
スペースの数を比較しません。スペースを除いた内容が同じであれば、違いはないものとします。
引数
① PATH1
PATH2で指定したファイルまたはディレクトリと比較する、ファイルあるいはディレクトリ名を指定します。
② PATH2
PATH1で指定したファイルまたはディレクトリと比較する、ファイルあるいはディレクトリ名を指定します。
2つのファイルを比較する
[takeda]$ cat f01 
A001
b002
C003
d004
ファイル「f01」の内容
[takeda]$ cat f02
a001
b002
c003
d004
ファイル「f02」の内容
[takeda]$ diff f01 f02
1c1
双方の1行目同士に違いがあることを示す
< A001
ファイル「f01」の内容の1行目
---
> a001
ファイル「f02」の内容の1行目
3c3
< C003
ファイル「f01」の内容の3行目
---
> c003
ファイル「f02」の内容の3行目
[takeda]$
2つのディレクトリを比較する
[takeda]$ diff d01 d02 
d01 だけに存在します: d11
一方のディレクトリ内にのみ存在するファイルについて表示
diff d01/f01 d02/f01
同一名で違いのあるファイルが存在する場合、どのファイルの比較かを表示
1c1
< A001
ファイル「d01/f01」の内容の1行目
---
> a001
ファイル「d02/f01」の内容の1行目
d02 だけに存在します: f02
一方のディレクトリ内にのみ存在するファイルについて表示
[takeda]$
HINT!

 catコマンド

関連タグ

UNIXコマンド辞典トップページに戻る

本コンテンツは「UNIXコマンド辞典 ビギナー編」(2003年)を元にWeb用に再編集したものです
All Contents copyright © 2003-2009 Odyssey Communications Inc., Shoeisha Co., Ltd.

開発者必携!VBAスキルを証明する資格「VBAエキスパート」

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング