024.diffコマンド ファイルの相違点を抽出する

プロが現場で構築するLinuxサーバー技術が習得できる講座とセミナー

   → 【Linux講座】リナックスマスター・ホームスタディ講座【初級編】

   → 【Linuxセミナー】リナックスマスター2日間集中セミナー【CentOS版】

スポンサードリンク

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

■-- 文法 --■

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

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

■ オプション

-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」を指定すると空白は比較対象外になります。
 $                

■CentOSサーバー構築マニュアルを無料プレゼント
 CenOSのサーバー構築手順、VMware Playerの
 ダウンロードとインストール手順をまとめたマニュアルを
 無料でプレゼントしています。


 詳しくは↓のページで説明しています。今すぐクリックしてダウンロードしてください。
 CentOSサーバー構築無料マニュアル


スポンサードリンク





Linux初心者のあなたもサーバー管理者になれる

Linux初心者のあなたもサーバー管理者になれる!!

UNIX/Linuxコマンド Topicsでは初心者からでも気軽にLinux(リナックス)を、はじめられる方法を紹介しています。このサイトのいちばんの目的は、あなたにLinux(リナックス)を、はじめてもらうことです。 興味があるならサーバー構築してみてください。

このサイトについて、、、。まずは私の想いを知ってください。あなたに一番最初に読んで欲しい

このサイトについてこちらをクリックしてください。

UNIX/Linuxコマンド Topics Linux初心者のためのサイト:当サイトについて

  • UNIX/Linuxコマンド Topics Linux初心者のためのサイトは個人で運営しているサイトです。
  • ご意見、ご質問はメールでお願いいたします。

スポンサードリンク

Linux初心者向け

Linuxコマンド

Linux Tips

Linuxサーバー構築

Linux用語集

当サイトについて

Linux Information

mag2メルマガ

CentOS6.3サーバー

サイト内検索



[ 相互リンク ]

格安ドメイン

執筆した本

スポンサードリンク

[ 広告について ]

[ 相互リンク ]

copyright(c) 2004-2012 UNIX/Linuxコマンド Topics Linux初心者のためのサイト All Rights Reserved.
<>