-
ファイルを比較して違いを探したい時に!サクラエディタでdiffをとる方法
公開日:2016年10月26日 最終更新日:2019年09月27日
前回記事: 複数のソースファイルを一発置換!サクラエディタでgrep&置換する方法 では、サクラエディタのgrep機能についてご紹介しました。第六回となる今回は、サクラエディタで動くdiff差分表示機能についてご紹介したいと思います。
目次
1.diffとは?
1.1 diff差分表示とは
diffとは、grepと同様にUNIXコマンドを由来としています。2つのファイルを比較して、その差分を発見する機能です。
1.2 サクラエディタのdiff機能
サクラエディタのdiff差分表示機能もUNIXと同様に、2つのファイルを比較してその差分を抽出するツールです。さらにサクラエディタでは、変更箇所が視覚的にわかりやすいように色付けをして結果が表示されます。
なおサクラエディタでdiff差分表示機能を使用するには、拡張ツールの導入が必要です。
2.diffのインストールと使い方
2.1 diff.exeのダウンロード方法
diff差分表示機能はパッケージには同梱されていません。「上部メニュー>検索>DIFF差分表示」から画面を起動することはできますが、デフォルトではエラーになります。
このエラーを回避して機能を使用するには、拡張ファイルである「diff.exe」を別途ダウンロードする必要があります。
「diff.exe」は、次のサイトでダウンロード可能です。
【W32TeX based on TeX Live 2016 and Kpathsearch 6.2.2】
http://w32tex.org/index-ja.htmlこのサイトのトップ画面最下部に、「W32 utilities」というリンクがあるのでクリックします。
「W32 utilities」の中から、「patch-diff-w32.zip」をダウンロードします。
2.2 diff機能のインストール
正確には、diff.exeはインストール不要です。「patch-diff-w32.zip」を解凍し、「diff.exe」を含む中身をすべて「sakura.exe」と同じフォルダ内に配置するだけで使用可能になります。
2.3 diff差分表示の使い方
例として、下図のような「bat3_log.txt」と「bat4_log.txt」の比較をします。
今回は「bat3_log.txt」を旧ファイル、「bat4_log.txt」を新ファイルとして、「bat4_log.txt」を基準に比較します。
まず「bat4_log.txt」を開き、「上部メニュー>検索>DIFF差分表示」を選択してdiff差分表示画面を表示します。
参照ボタンを押して、比較するファイルを選択します。今回は開いているファイルが「bat4_log.txt」でありこちらを新ファイルとしているため、「編集中のファイルが...」の項目では「新ファイル」を選択します。
その他オプションを目的に応じて選択し、「OK」ボタンを押します。
すると開いておいたファイルの行番号の左側に変更記号が表示され、行番号が色分けされます。
それぞれの色と記号は、次の状態を表しています。
+ 青 追加 旧ファイルにはないが新ファイルにはある行 ! 緑 変更 旧ファイルと新ファイルで内容に変更がある行 ↑(左上) オレンジ 上削除 新ファイルにはないが、旧にはある行がその行の上に存在する ↓(左下) オレンジ 下削除 新ファイルにはないが、旧にはある行がその行の下(EOF以降)に存在する 3.diff機能の活用場面
diff機能は、修正前と修正後のソースを比較して、修正ステップ数を洗い出しする場面などで活用されています。その他いろいろな場面で利用可能ですので、ぜひ活用してみて下さい。
次回はサクラエディタのマクロ機能について、作成方法と使い方をご紹介したいと思います。
よければ合わせてご覧下さい。おすすめ記事
-
DevOpsとアジャイル開発、役割の類似する両者の違いを解説します
DevOpsとアジャイル開発、役割の類似する両者の違いを解説します
開発・運用間の諸課題を文化的な仕組みやツールの利用で解決し、継続的な価値提供を可能にするDevOpsの...
-
Excelで正規表現やgrep検索を可能にするアドインの導入方法
Excelで正規表現やgrep検索を可能にするアドインの導入方法
検索や置換を劇的に便利にしてくれる正規表現ですが、Excelデフォルトの機能では使用することができませ...
-
ピックアップ
正社員
【Java】開発エンジニア|Webアプリケーションの設計・開発
年収 :300万円〜700万円
Webアプリケーションや業務システムの案件定義・設計・プログラミング・テスト・運用・ネットワーク...
株式会社スタッフサービス(エンジニアリング事業本部)
フリーランス
【Ruby】サーバーサイドエンジニア★EC在庫管理システムの開発
月額単価 :60万円〜70万円
EC(業種問わず)のリサーチ機能や出荷管理、在庫管理など、販売者の効率化を促進するシステムのサーバ...
フリーランス
【Python】機械学習エンジニア★企業向けスコアリングサービスの開発
月額単価 :50万円〜80万円
同社は自社サービスでAIを使ったイベント情報比較サービスの展開や、AI関連の受託開発を行っています。 ...
フリーランス
【Ruby/JavaScript】Webエンジニア★地方特化型の短中期アルバイトマッチングプラットフォームの開発
月額単価 :70万円〜80万円
短中期アルバイトマッチングプラットフォームを展開している企業にて、地方特化型の繁忙期限定のアルバ...