ホーム > テキスト処理・検索 > sdiff

sdiff: 2つのファイルを並べて比較する

sdiffコマンドは、2つのファイルを並行して比較し、その違いを一目でわかるように2列に並べて出力します。`diff`コマンドとは異なり、共通部分と異なる部分を視覚的に明確に区別します。

概要

sdiffは`side-by-side diff`の略で、2つのファイルの内容を左右に並べて比較します。同じ行は中央に空白で表示され、異なる行は特定の記号(例: `|`, `<`, `>`)で違いが明示されます。この方法は、コードレビューや設定ファイルの比較時に、どの部分が追加、削除、変更されたかを直感的に把握するのに非常に役立ちます。

主な特徴

sdiffコマンドの主な特徴は以下の通りです。

  • 2つのファイルを並行して並べて比較出力します。
  • 違いを明確に示す記号(`|`, `<`, `>`)を使用します。
  • スクリプトではなく、人が直接比較結果を確認するのに適しています。
  • テキストファイルの変更点を一目で把握しやすいです。

sdiff出力記号

sdiffはファイル間の関係を示す特定の記号を使用します。

  • |: 両ファイルの該当する行が異なります。
  • <: 左ファイル(1番目のファイル)にのみ存在する行です。
  • >: 右ファイル(2番目のファイル)にのみ存在する行です。
  • (공백): 両ファイルの該当する行が同じです。

主要オプション

よく使用されるsdiffコマンドのオプションを用途別にグループ化しました。

1) 比較オプション

2) ヘルプ

生成されたコマンド:

コマンドを組み合わせてみてください。

説明:

`sdiff` コマンドを実行します。

これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。

使用例

sdiffコマンドの様々な使用例を通じて機能を習得してください。

2つのファイルを並べて比較

sdiff file1.txt file2.txt

2つのファイルの内容を並べて比較出力します。`|`は変更、`<`は左ファイルにのみ、`>`は右ファイルにのみ存在する行を示します。

同じ行を非表示にして比較

sdiff -s file1.txt file2.txt

`-s`オプションを使用して、同じ行を非表示にし、違いのみを出力します。

出力幅の指定

sdiff -w 100 file1.txt file2.txt

`-w`オプションで出力画面の幅を100文字に指定して出力します。

対話型マージ

sdiff -o merged.txt file1.txt file2.txt

`-o`オプションを使用して`merged.txt`ファイルに出力し、違いが検出された場合は対話型でマージ作業を進めます。

インストール

sdiffは、ほとんどのLinuxディストリビューションに`diffutils`パッケージの一部としてデフォルトで含まれています。別途インストールは必要ありません。

ヒントと注意事項

sdiffコマンド使用時の注意点をまとめました。

ヒント

  • `sdiff`は主に、人が直接ファイルを比較し、変更点を確認する用途で使用されます。
  • 出力が複雑な場合、`sdiff`の結果を`less`や`more`のようなページャーと組み合わせて使用すると便利です。
  • `-o`オプションで対話型マージを行う際、`l` (左)、`r` (右)、`e` (手動編集)、`s` (スキップ)、`q` (終了) などのコマンドを使用できます。

関連するコマンド

機能的に類似しているか、よく一緒に使われるコマンドです。


同じカテゴリのコマンド