sdiff - コマンド (プログラム) の説明 - Linux コマンド集 一覧表
- 名前
- 書式
- 説明
- オプション
- マージ
- 返り値
- 関連項目
- 注意
名前
sdiff - 2 つのファイルの違いを見つけ、対話的にマージを行う
書式
sdiff
[-abdilstBEHW
] [-o OUTFILE
] [-w COLUMNS
]
[-I REGEXP
] [--diff-program=PROGRAM
]
[--expand-tabs
] [-ignore-all-space
]
[-ignore-blank-lines
] [--ignore-case
]
[--ignore-matching-lines=REGEXP
]
[--ignore-space-change
]
[--ignore-tab-expansion
]
[--left-column
] [--minimal
]
[--output=OUTFILE
]
[--speed-large-files
]
[--strip-trailing-cr
]
[--supress-common-lines
]
[--text
] [--width=COLUMNS
]
FROMFILE TOFILE
sdiff
[-v
] [--help
] [--version
]
説明
sdiff
は 2 つのファイルを対話的にマージする。
-o
で指定されていれば結果は
OUTFILE
に出力される。それ以外の場合は side-by-side 形式で違いを生成する。
FROMFILE
がディレクトリで
TOFILE
がディレクトリでない場合、
sdiff
は
FROMFILE
にある、ファイル名が
TOFILE
と同じものを比較の対象にする (逆も同じ)。
FROMFILE
と
TOFILE
の両方にディレクトリを指定することはできない。
入力ファイルに
`
-
'を用いることはできない。
[訳注: 多くのコマンドでは
`
-
'は標準入力の意味になる]
通常
sdiff
は
diff
を呼び出して処理を行う。
しかし
DIFF
環境変数を他のプログラムに設定すれば、そのプログラムを使うように変更できる。
また
EDITOR
環境変数を設定すると、使用するエディタも変更できる。
オプション
-
-a, --text
-
テキストのように見えないファイルがあっても、
全てのファイルをテキストとみなして 1 行ずつ比較していく。
-
-b, --ignore-space-change
-
空白の数の違いを無視する。
-
-d, --minimal
-
アルゴリズムを変更する (おそらく小さな違いも見付かるようになる)。
これを用いると
sdiff
は遅くなる (時には非常に遅くなる)。
-
-i, --ignore-case
-
英大文字と小文字の違いを無視する。
-
-l, --left-column
-
共通の行に対しては、左側の列だけを表示する。
-
-o
OUTFILE
, --output=
OUTFILE
-
マージされた出力を
OUTFILE
に書き込む。マージを行うためにはこのオプションが必要である。
-
-s, --suppress-common-lines
-
共通な行を表示しない。
-
-t, --expand-tabs
-
出力でタブ文字をスペースに変換する。
入力ファイルでのタブ文字による桁揃えが保存される。
-
-w
COLUMNS
, --width=
COLUMNS
-
出力の幅を
COLUMNS
桁にする。
歴史的な理由から、
diff
(1) ではこのオプションは
-W
になっていることに注意。
-
-B, --ignore-blank-lines
-
空行を挿入・削除するだけの違いは無視する。
-
-E, --ignore-tab-expansion
-
タブ展開によるスペースの変更を無視する。
-
-H, --speed-large-files
-
小さな変更が大量にあるような大きなファイルを高速に扱うために、
発見的推測手法を用いる。
-
-I
REGEXP
, --ignore-matching-lines=
REGEXP
-
正規表現
REGEXP
にマッチした行を挿入・削除するだけの違いは無視する。
-
-W
-
行の比較の際に空白を無視する。
歴史的な理由から、
diff
(1) ではこのオプションは
-w
になっていることに注意。
-
--diff-program= PROGRAM
-
ファイルの比較するために diff
と互換性のある
外部プログラム PROGRAM
を用いる。
-
--strip-trailing-cr
-
行末の CR を取り除く。
行末のマーカとして CRLF を使うシステムの出力を処理するときに役立つ。
-
"--help"
-
標準出力に使用方法のメッセージを出力して正常終了する。
-
-v, --version
-
sdiff
のバージョン番号を出力する。
マージ
共通行のブロック (と空白の溝) は、
1 番目のファイルから出力にコピーされる。
異なっている行ブロックのあとには、
sdiff
は
`
%
'でプロンプトを出して一時停止し、
以下のコマンドのどれか 1 つが入力されるのを待つ。
-
e
-
両方のバージョンとも捨てる。内容が空の一時ファイルをテキストエディタで開き、
エディタ終了後のファイルの内容を出力にコピーする。
-
eb
-
両方のバージョンを結合した結果をエディタで編集し、
終了後の内容を出力にコピーする。
-
ed
-
`
eb
',と似ているが、各バージョンのブロックの前にヘッダを置き、
どのファイルのどの行のものかがわかるようにする。
-
el
-
左側のバージョンをエディタで編集し、
終了後の内容を出力にコピーする。
-
er
-
右側のバージョンをエディタで編集し、
終了後の内容を出力にコピーする。
-
l
-
左側のバージョンを出力にコピーする。
-
q
-
終了する。
-
p
-
右側のバージョンを出力にコピーする。
-
s
-
共通な行を表示せずにコピーする。
-
v
-
共通な行を表示しながらコピーする。デフォルト。
返り値
sdiff
は以下のどれかの値で終了する:
-
0
-
sdiff
は成功し、変更は存在しなかった。
-
1
-
変更が見付かった。
-
2
-
何らかのエラーが起こった。
関連項目
注意
プログラムのバグについては bug-gnu-utils@gnu.org に報告してください。
ページの更新は Ragnar Hojland Espinosa
<ragnar@ragnar-hojland.com> が行っています。
- Linux Tips 関連記事
- Linux Tips(目次)
- Linux ディストリビューション一覧
- rpm のファイル名にあるi386とかi686とは
- 自分のマシンの情報を調べる
- cron の設定
- ssh の root ログインを禁止する
- ssh を、ユーザ、IPでアクセス制限
- 鍵交換方式によるssh接続
- 鍵交換方式によるssh接続( windowsから )
- 複数ファイル内の文字列を置換して上書き保存する
- あるグループをイニシャルグループとするユーザー一覧出力
- 複数ファイルのファイル名を一括変換する
- 連番ファイルをコマンド一発で作成する
- 中身がランダムなファイルを任意のサイズで作成する
- Linux ユーザーアカウントをロック・アンロックする