このエントリーをはてなブックマークに追加


左右に差分を表示するsdiffコマンド

side-by-side 形式で差分を表示するsdiffコマンドを紹介します。
以下にsdiffの実行例と同様な動作となるdiffオプションを紹介します。


diff, sdiff コマンドに使用したファイル内容

以下のa.txt, b.txtをdiff, sdiffコマンドの比較として利用しました。

$ cat a.txt
hello
konnichiwa
nihao
$ cat b.txt
hello
konnichiwa
nihao
Bonjour

b.txtにだけ、bonjourが存在します。

diffコマンドの実行例

オプションなしでdiffコマンドを実行してみます。

diff ファイル名 ファイル名
$ diff a.txt b.txt
3a4
> Bonjour

sdiffコマンド実行例

オプションなしでsdiffコマンドを実行してみます。 差分の部分に>が表示され、全てのファイル内容が表示されています。

sdiff ファイル名 ファイル名
$ sdiff a.txt b.txt
hello                                                 hello
konnichiwa                                            konnichiwa
nihao                                                 nihao
                                                    > Bonjour

これでは、大きなファイルを比較したとき、すべてが表示されてしまうので、-sオプションを使用し差分のみ表示します。
差分のみ表示されました。

sdiff -s ファイル名 ファイル名
$ sdiff -s a.txt b.txt
                                                    > Bonjour

diffコマンドによる同様な動作

diffコマンドでも同様な動作をさせることができます。

以下は同じ動作となります。

side-by-sideオプションによりsdiffと同じ動作となります。

sdiff ファイル名 ファイル名
diff --side-by-side ファイル名 ファイル名
$ diff  --side-by-side a.txt b.txt
hello                                                 hello
konnichiwa                                            konnichiwa
nihao                                                 nihao
                                                    > Bonjour

次に以下も同じ動作になります。 suppress-common-linesオプションによりsdiffに-sオプションをつけたのと同じ動作になります。

diff --suppress-common-lines --side-by-side ファイル名 ファイル名
sdiff -s ファイル名 ファイル名
$ diff --suppress-common-lines --side-by-side a.txt b.txt
                                                    > Bonjour

関連使用

 


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:27:21