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 | 出力行の幅を設定します。 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.combo という名前の新しいファイルが作成されます。 sdiff コマンドは、異なる行の個々のグループに対して、どのグループを保持するのか、あるいは、ed コマンドを使用して編集したいかどうかを尋ねるプロンプトを表示します。
- 2 つのファイル、
staff.jan と staff.apr を組み合わせて編集し、
編集結果をファイル staff.year に書き込むには、以下の手順を実行します。
ファイル staff.jan には、以下のような行が入っています。
ファイル staff.apr には、以下のような行が入っています。Members of the Accounting Department Andrea George Karen Sam Thomas
Members 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 %
- e b サブコマンドを入力して、ed コマンドによる出力ファイルの編集を開始します。
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 コマンドが入っています。 |