TOP(サイトマップ) | Solaris man マニュアル | |
(はじめに) はじめに Solarisって・・・ SunのセミナーとSDC Solaris 10概要 資格(SCSA,SCNA) Solarisフォーラム 管理人に連絡 (Solaris基本) Solarisのインストール システムの起動と停止 ファイルシステム オートマウントとマウント パッケージとパッチ ユーザの追加と削除 ファイル権限(セキュリティ) バックアップとリストア CDE環境 プロセス管理/監視 (ネットワーク管理) OSIを理解してみる TCP/IPの設定 (TCP/IP入門) DNSの設定 NISの設定 NFSの設定(WebNFS,CacheFS) (NIS、NIS+、DNS違い) DHCPの設定 1つのNICで複数IP設定 (IO関連) インタフェース概要 SAFの管理 プリンタ管理概要 プリンタコマンド SunSolve Online SCSI情報(KEY,ASC,ASCQ) (ソフトウェア関連) Bash Apache Solstice DiskSuite (SDS OSミラー回復) Veritas VxVM (OBPについて) PROM(OBP)の概要 OBPでのキーボード操作 一般的なOBPコマンド SolarisでOBPの設定 OBPに関するFAQ (トラブル時の対応) 基本情報 エラーメッセージ (主要メッセージ一覧) 性能関連コマンド トレースコマンド クラッシュダンプ SunSolve Online (その他) 小技集 UNIXコマンド (manマニュアル) システムチューニング ネットワークチューニング UltraSPARC T1について (FAQ) rootのPASSが不明 ハングアップかな? ハードトラブル OSが起動しない(b) swap領域の拡張方法 (リンク) Sun関連リンク その他リンク アバウトなJava入門 Perlメモ(逆引き用) |
ユーザーコマンド diff(1) 【名前】 diff - 2つのファイルの比較 【形式】 diff [-bitw] [-c | -e | -f | -h | -n | -u] file1 file2 diff [-bitw] [-C number | -U number] file1 file2 diff [-bitw] [-D string] file1 file2 diff [-bitw] [-c | -e | -f | -h | -n] [-l] [-r] [-s] [- S name] directory1 directory2 【機能説明】 diff ユーティリティは file1 と file2 で指定された 2 つのファ イ ルの内容を比較し、file1 を file2 に一致させるのに必要な変 更リストを標準出力に書き込みます。変更リストの大きさは最小限 に 留められます。ごくまれな場合を除き、diff は、必要最低限の 相違点を生成するようにします。2 つのファイルの内容が同一であ れば、何も出力しません。 通常は、次のようなフォーマットの行を出力します。 n1 a n3,n4 n1,n2 d n3 n1,n2 c n3,n4 このうち n1 と n2 は file1 中の行を表し、n3 と n4 は file2 中の行を表します。これらの行は file1 を file2 へ変換するため の ed(1) コマンドに似ています。a と d とを入れ替えて、各出力 行 の内容を右から左へ逆向きに読めば、file2 を file1 に変換す る方法が確認できます。ed の場合と同様に、一致 す る ペ ア は n1=n2 ま た は n3 = n4 のようになり、1 つの番号に省略されま す。 最初のファイルで影響を受けた行には、`<' が付きます。2 番目の ファイルで影響を受けた行には、`>' が付きます。 【オプション】 次のオプションを指定できます。 -b 末尾の空白 ( 空白文字とタブ文字 ) を無視し、 他の空白文字列は等価に扱います。 -i 大文字、小文字の区別を無視します。たとえば、 A と a は等しいとみなします。 -t タブ文字を出力行上で展開します。通常ま た は -c による出力は、各行の先頭に文字を追加する ので、元の行のインデントに悪影響を与え、結果 として出力行を読みにくくします。このオプショ ンは、元の行のインデントを保持します。 -w すべての空白 ( 空白文字とタブ文字 ) を 無 視 し、他の空白文字は等価に扱います。たとえば、 `if ( a == b )' は `if(a==b)' と同じとみなし ます。 次のオプションは相互に排他的です。したがって同時に 2 つ以 上 指定しないでください。 -c 差異行の前後 3 行を追加して出力します。こ の オプションを使用すると、出力フォーマットが多 少変わります。つまり、出力はファイルの ID と 作 成日で始まり、各差異部分は * からなる行で 区切られます。file1 から除外された行には - が、 file2 に 追加された行には + が付きま す。1 つのファイルから他のファイルへ変更され た行には、双方のファイルに ! が付きます。 -C number 基本的に -c オプションと同じです。差異行の前 後 number 行を追加して出力します。 -D string C のプリプロセッサの制御によっ て file1 と file2 のマージ版を作成します。string を定義 しないでコンパイルすると file1 のコンパイ ル 結果と同じになり、string を定義すると、file2 を生成します。 -e file1 から file2 を再生するために、エディ タ ed の a 、c 、d コマンドのスクリプトを生成し ます。以下のシェルプログラムは、この -e オプ ションを使用して、複数版のファイルを保守する ものです。元のファイル ( $1 ) と diff によっ て 作成される版から版への ed スクリプト( $2, $3, ... ) だけが必要です。最新版が標準出力へ 表示されます。 (shift; cat $*; echo '1,$p') | ed - $1 -f 類似したスクリプト( ed では使えない) を反 対 順に生成します。 -h 高速でおおまかな処理をします。変更部分が短く てうまく区切られているときのみ動作しますが、 ファイル長には制限がありません。オプ ショ ン -c 、-C、-e 、-f および -n は、このオプショ ンと一緒に使用できません。このオプションを指 定 した場合、diff はディレクトリの下の階層を 処理しません。 -n -e と同様のスクリプトを生成しますが、順序 は 反対で、各挿入または削除コマンドに変更行数を 出力します。 -u 差異行の前後 3 行を追加して出力します。-c オ プ ショ ン と似ていますが、-u オプションの場 合、文脈が統合されて出力されます。つ ま り、 file1 で 削 除または変更された行には - が付 き、file2 で追加または変更された行には + が 付きます。そして、変更された行は両方のファイ ルとも出力されますが、追加、削除、および同一 の 行は 1 度だけ出力されます。また、file1 と file2 の分別も異なります。-c オプションの 場 合 は *** と --- が出力されますが、-u オプ ションの場合は --- と +++ が出力されます。変 更された行はそれぞれ次のような行で分離されま す。 @@ -n1,n2 +n3,n4 @@ -U number 出力形式は -u オプションと同じですが、出力す る文脈の行数が number になります。 次のオプションは、ディレクトリを比較するのに使用します。 -l ロングフォーマットで出力を生成しま す。 diff で 処 理する前に、各テキストファイルは pr(1) によってページ付けされます。他の差異は記憶さ れ、すべてのテキストファイルの差異が報告され た後で集計されます。 -r サブディレクトリに出合うと、diff を再帰的 に 実行します。 -s 同一のファイルを報告します。このオプションを 指 定 しないと、同一のファイルは報告されませ ん。 -S name ファイル name からディレクトリ diff を開 始 します。 【オペランド】 以下のオペランドを指定できます。 file1 比較するファイルまたはディレクトリのパス名。 file2 ど ちらかに - を指定すると、標準入力とみなさ れます。 directory1 比較するディレクトリのパス名。 directory2 file1 と file2 のうちどちらか一方だけがディレクトリの場 合、 diff が 比 較するのは、ディレクトリでない方のファイルの内容 と、 当該ディレクトリ中のファイルのうち名前がディレクトリ で ない方のファイル名の最終要素と同一のファイルの内容です。 【使用法】 ファイルが 2 ギガバイト ( 2**31 バイト) 以上ある場合の diff の動作については、largefile(5) を参照してください。 【使用例】 例 1: diff コマンドの典型的な出力 次のコマンドでは、dir1 がディレクトリで x という名のディレク トリを含んでいて、dir2 もディレクトリで x という名のディレク トリを含んでいて、dir1/x と dir2/x の両方が date.out とい う ファ イルを含んでいて、さらに dir2/x が y というファイルを含 んでいると仮定します。 以下のような出力が生成されます。 example% diff -r dir1 dir2 Common subdirectories: dir1/x and dir2/x Only in dir2/x: y diff -r dir1/x/date.out dir2/x/date.out 1c1 < Mon Jul 2 13:12:16 PDT 1990 --- > Tue Jun 19 21:41:39 PDT 1990 【環境】 diff の実行に影響を与える環境変 数 LC_CTYPE、 LC_MESSAGES、 LC_TIME 、NLSPATH についての詳細は、environ(5) を参照してく ださい。 TZ -C または -c オプションで出力される時刻表示のタイム ゾー ン ( 時間帯 ) に影響を与えるロケールを指定しま す。 【終了ステータス】 以下の終了ステータスが返されます。 0 一致していた 1 差異が見つかった >1 エラーが発生した 【ファイル】 /tmp/d????? 比較に用いる一時ファイル /usr/lib/diffh -h オプション用の実行可能ファイル 【属性】 次の属性については attributes(5) のマニュアルページを参照 し てください。 ____________________________________________________________ | 属性タイプ | 属性値 | |_____________________________|_____________________________| | 使用条件 | SUNWesu | |_____________________________|_____________________________| | CSI | 対応済み | |_____________________________|_____________________________| | インタフェースの安定性 | 標準 | |_____________________________|_____________________________| 【関連項目】 bdiff(1), cmp(1), comm(1), dircmp(1), ed(1), pr(1), sdiff( 1), attributes(5), environ(5), largefile(5), standards(5) 【注意事項】 オプション -e または -f 指定で生成される編集用スクリプトは、 ピリオド (.) だけからなる行の作成に関しては慎重です。 Missing NEWLINE at end of file は、問題のファイルの最終行 に 復帰改行がないことを意味します。最終行に差異がある場合、フラ グが付けられて出力されます。しかし、出力には差異がないように 見えます。 |
|