概要
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` (終了) などのコマンドを使用できます。