diffコマンド


■Linux(RHEL8)マニュアル無料プレゼント
弊社の有料セミナー「リナックスマスタープロセミナー」で
実際に使っているマニュアルを無料サンプルとしてプレゼント

申し込みはフォームに名前とメールアドレスを登録するだけです。
お名前*
メールアドレス *
※不正メールアドレスを登録した場合、マニュアルが届きませんのでご注意ください。


ファイルの相違点を抽出する

■-- 文法 --■

diff (オプション) ファイル1 ファイル2

     例)
       diff▲infile.txt▲outfile.txt
      「infile.txt」と「outfile.txt」の差分を表示する
     ※▲はスペースを表してます。


人気セミナー

リナックスマスタープロセミナー【RHEL8研修】
一生使えるLinuxスキルが欲しい初心者向けセミナーです。
RHELをゼロからインストールするところから学べます。

AWSマスターセミナー【Amazon Linux研修】
AWS初心者向けセミナーです。ログインや料金確認などの基礎から
ロードバランサーなど業務で使える実用的なスキルが1日で学べます。

■ オプション

-a テキストファイルじゃなくてもテキストファイルとして比較する
-i 大文字と小文字の違いを無視する
-w 空白を無視して比較する

■ 実行例

-----------------------------------------------------------------
●2つのファイルを比較して、違う点を表示する

「diff list.txt list_cp.txt」
-----------------------------------------------------------------
■ファイルに違いがない場合

$ ls -l ←ファイルを表示します
合計 40
-rw-rw-r-- 1 pakira pakira 19518 3月 14 21:21 list.txt
-rw-rw-r-- 1 pakira pakira 19518 3月 14 21:22 list_cp.txt

$ diff list.txt list_cp.txt ←2つのファイルを比較します。
 $              ←違いがなければ、何も表示されません

■ファイルに違いがある場合

$ cat list.txt  ←ファイルの内容を表示します
check
point
test
data

$ cat list_cp.txt ←ファイルの内容を表示します
check
point
test

 $ diff list.txt list_cp.txt
 4d3       ←list.txtの4行目にある違う点が↓に表示されます。
 < data

■また、逆のファイルに違う点がある場合には「>」と表示されて結果がでます。

 3a4
 > data

-----------------------------------------------------------------

■私の場合、このdiffコマンドはシェルスクリプトなどで処理された結果のファイルを検証するときに実行して、そのファイルが正しいことを確認します。

 データ量が多い場合に、目で確認するのはとても面倒なので、システム的にチェックできるのでとても便利ですよ♪

-----------------------------------------------------------------


▼比較結果をメッセージとして表示する

■「uniq -s list.txt list_cp.txt」

■ファイルに違いがある場合は、結果が表示されますが同じファイルの場合にはメッセージが表示されません。
 そうゆう場合にオプションとして「-s」をつけることによって明示的にメッセージを表示することができます。

-----------------------------------------------------------------

 $ diff -s list.txt list_cp.txt
 ファイルlist.txtとlist_cp.txtは同一 ←メッセージが表示されます。

-----------------------------------------------------------------

▼空白を無視して比較する

■diffの比較対象には『空白』も含まれます。空白を比較対照に含めたくない場合、オプションに「-w」を指定します。

 $ cat list.txt
 check
 p oint ←pointに空白が含まれる
 test
 data

 $ cat list_cp.txt
 check
 point
 test
 data

 $ diff list.txt list_cp.txt
 2c2
 < p oint
 ---       ←空白部分の違いが表示されます
 > point

 $ diff -w list.txt list_cp.txt ←「-w」を指定すると空白は比較対象外になります。
 $                


失敗しないLinuxの転職に強い転職サイト・転職エージェント【厳選3選】

リナックスマスタープロセミナー【RHEL8研修】
一生使えるLinuxスキルが欲しい初心者向けセミナーです。
RHELをゼロからインストールするところから学べます。

AWSマスターセミナー【Amazon Linux研修】
AWS初心者向けセミナーです。ログインや料金確認などの基礎から
ロードバランサーなど業務で使える実用的なスキルが1日で学べます。

■AWS構築マニュアルを無料プレゼント
たった13分で、AWSにWordPress環境が作れます。
申し込みはフォームに名前とメールアドレスを登録するだけです。
お名前*
メールアドレス *
※不正メールアドレスを登録した場合、マニュアルが届きませんのでご注意ください。


<<関連記事>>
・pstree
・chsh
・finger
・du
・uname

スポンサードリンク


■CentOS7サーバー構築マニュアルを無料プレゼント
下記3冊のマニュアルを無料プレゼントしています。
・CentOS7サーバー構築マニュアル(105ページ)
・VMware Playerで作る仮想Linux環境構築マニュアル(40ページ)
・DB(PostgreSQL・MySQL)構築・CentOSバージョンアップマニュアル(33ページ)


詳細は↓をいますぐクリックしてください。
 無料マニュアルをダウンロードする  ホームスタディ講座【初級編】