FreeBSD またはほとんどの Linux システムでは、diff の出力を cat -v -e -t
でパイプできます。 空白の違いを表示します。
diff file1 file2 | cat -vet
タブは ^I
として表示されます 、 $
末尾の空白が見えるように各行の最後に表示され、印刷されない文字は ^X
として表示されます または M-X
.
GNU coreutils (busybox 以外のほとんどの Linux ディストリビューションで利用可能) がある場合、これは次のように簡略化できます
diff file1 file2 | cat -A
ビジーボックス システムでは、catv -vet
を使用します .
vim
の場合 ユーザーには、ファイル間の正確な違いを表示する便利なユーティリティがあります:
vimdiff file1 file2
これにより、各ファイルがウィンドウに並べて配置され、違いが色で強調表示されます。
vimdiff
のときの便利なコマンド
vimdiff
の間 、いくつかの便利なコマンドは次のとおりです:
-
]c
:次の変更にジャンプ -
[c
:前の変更にジャンプ -
ctrl-W ctrl-W
:別のウィンドウに切り替える -
zo
:折り目を開きます -
zc
:折り目を閉じる
例
vimdiff
の例を次に示します。 xterm
で cups
の 2 つのバージョンを比較する 構成ファイル:
同じ行の長いセクションが折りたたまれていることがわかります。 zo
で再度開くことができます .
オプションの設定により配色が異なります。上記の例では、ある行が 1 つのファイルに表示され、別のファイルには表示されない場合、その行には濃い青色の背景が与えられます。他のファイルでは、欠落している行が破線で示されています。行が両方のファイルに表示されているが、いくつかの違いがある場合、行の変更されていない部分の背景はピンク色になり、変更された部分の背景色は赤色になります。
ファイルの 1 つは Windows マシンで編集されましたか?
Windows の標準回線終端は CRLF で、Linux では単純に LF です (Mac では以前は CR でしたが、OS X 以降は変更されていると思います)。
wc -l
を試してください 次に、サイズの違いが行数と同じかどうかを確認します (最後の行は 1 つのファイルで終了しない場合があります)。