sdiff コマンド
目的
2 つのファイルを比較し、その違いを横に並べて表示します。
構文
説明
sdiff コマンドは、File1 および File2 パラメーターで指定されたファイルを読み取り、diff コマンドを使用してそれらを比較し、結果を横並びフォーマットで標準出力に書き出します。 sdiff コマンドは、2 つのファイルの各行が同一であれば、間に一連のスペースを入れて、これらの行を表示します。 File1 パラメーターで指定されたファイルにのみ行が存在する場合は、スペースのフィールドに < (より小記号) を表示し、 File2 パラメーターで指定されたファイルにのみ行が存在する場合は、> (より大記号) を表示します。 | (縦線) は異なる線を表します。
-o フラグを指定すると、 sdiff コマンドは、 File1 および File2 パラメーターで指定されたファイルをマージし、3 番目のファイルを作成します。
注: sdiff コマンドは、diff -b コマンドを呼び出して 2 つの入力ファイルを比較します。 -b フラグを指定すると、 diff コマンドは後続のスペースとタブ文字を無視して、 他のスペース文字列を等しいものと見なします。
フラグ
| 項目 | 説明 |
|---|---|
| -l | 行が同一の場合に、左側だけを表示します。 |
| -o OutFile | File1 および File2 パラメーターで指定された 2 つのファイルの 1 行ずつの組み合わせを制御して、OutFile 変数で指定された第 3 のファイルを作成します。 以下のサブコマンドがこのファイルの作成を制御します。
|
| -s | 同一行を表示しません。 |
| -w 数値 | 出力行の幅を設定します。 Number 変数のデフォルト値は 130 文字です。 Number 変数の最大幅は 2048 です。 Number 変数の最小幅は 20 です。 2048 よりも大きい値を指定すると、sdiff コマンドは 2048 を使用します。 |
終了状況
| 項目 | 説明 |
|---|---|
| 1 | 正常終了。 |
| 2 | エラーが発生しました。 |
例
- 2 つのファイルの比較を印刷するには、次のように入力します。
sdiff コマンドは、以下の各行を比較する横並びリストを表示します。chap1.bakおよびchap1ファイルのみ。sdiff chap1.bak chap1 - 異なる行だけを表示するには、次のように入力します。sdiff コマンドによって、ワークステーションに違いが表示されます。 この-w 80フラグおよび変数は、ページ幅を 80 桁に設定します。 この-sフラグは、両方のファイルで同一の行が表示されないことを示します。
- 2 つのファイルの一部を選択的に結合するには、次のように入力します。sdiff コマンドは、chap1.bakおよびchap1ファイルを、以下の名前の新規ファイルにchap1.combosdiff コマンドは、異なる行のグループごとに、どのグループを保持するか、または ed コマンドを使用して編集するかどうかを確認するプロンプトを出します。
- 2 つのファイルを結合して編集するには、staff.janおよびstaff.apr結果を以下に書き込みます。staff.year示されているステップを実行してください。
このstaff.janファイルには以下の行が含まれます。
このstaff.aprファイルには以下の行が含まれます。Members of the Accounting Department Andrea George Karen Sam ThomasMembers of the Accounting Department Andrea Fred Mark Sam Wendy- 以下のコマンドを入力します。
sdiff コマンドは、以下の内容の比較を開始します。staff.janおよびstaff.apr結果をファイルに書き込みます。staff.yearを適用します。 sdiff コマンドを実行すると、以下のように表示されます。sdiff -o staff.year staff.jan staff.apr
% (パーセント記号) は、コマンド・プロンプトです。Members of the Accounting Dept Members of the Accounting Dept Andrea Andrea George | Fred % - ed コマンドを使用して出力ファイルの編集を開始するには、 e b サブコマンドを入力します。
sdiff コマンドは、組み合わせ中のバイト数を示す一連の数値を表示します。 この場合、バイト・カウントは次のようになります。23.
- q サブコマンドを入力して ed コマンドを終了し、2 つのファイルの結合と編集を続行します。 sdiff コマンドを実行すると、以下のように表示されます。
Sam Sam Thomas | Wendy - e b サブコマンドを再度入力します。 元の 2 つのファイルの行のセットを出力ファイルに組み合わせるたびに、ed コマンドを実行しなければなりません。 このインスタンスのバイト・カウントは、以下のとおりです。13.
- q サブコマンドを入力して、変更を保存します。 2 つのファイルのすべての行が出力ファイルに組み合わされると、 q サブコマンドは ed および sdiff コマンドを終了します。
Members of the Accounting Department Andrea George Karen Fred Mark Sam Thomas Wendy - 以下のコマンドを入力します。
ファイル
| 項目 | 説明 |
|---|---|
| /usr/bin/sdiff | sdiff コマンドが入っています。 |