diff で改行・空白を無視して比較する
Contents
diffコマンドで空行・空白を無視する
diffコマンドは、ファイルを比較する時によく使うコマンドですが、空白や改行も比較対象として比較されます。
その場合は、「-w」、「-B」のオプションを利用すると、空白を無視したり、空行の改行を無視したりできます
空白を無視してdiffコマンドで比較する
「-w」のオプションを利用すると、空白の違いを無視して比較できます。
# 比較するテキストファイルは以下となります # text1.txtとtext2.txtは、同じ内容ですが途中で先頭に空白が入っています $ cat test1.txt 12345 67890 12345 67890 $ cat test2.txt 12345 67890 12345 67890 # オプションを使用しないで、diffで比較すると以下のようになります $ diff test1.txt test2.txt 1,2c1,2 < 12345 < 67890 --- > 12345 > 67890 # [-w] を利用すると、空白を無視して比較されます。テキスト内容は同じですので結果は返ってきません $ diff -w test1.txt test2.txt
空行(改行)を無視してdiffコマンドで比較する
「-B」のオプションを利用すると、空行(改行)を無視して比較できます。
# 比較するファイルは以下となります。 # text1.txtとtext2.txtは、同じ内容ですが途中で空行が入っています $ cat test1.txt 12345 67890 12345 67890 $ cat test2.txt 12345 67890 12345 67890 # オプションを使用しないで、diffで比較すると以下のようになります $ diff test1.txt test2.txt 2a3,4 > > # [-B] を利用すると、空行を無視して比較されます。テキスト内容は同じですので結果は返ってきません $ diff -B test1.txt test2.txt
空行(改行)と空白を無視してdiffコマンドで比較する
空行(改行)と空白のどちらも無視する場合は「-wB」と空行と空白を無視するオプションを続けて使用します
# 比較するファイルは以下となります。 # text1.txtとtext2.txtは、同じ内容ですが途中で空白・空行が入っています $ cat test1.txt 12345 67890 12345 67890 $ cat test2.txt 12345 67890 12345 67890 # オプションを使用しないで、diffで比較すると以下のようになります $ diff test1.txt test2.txt 3,4c3,6 < 12345 < 67890 --- > > > 12345 > 67890 # [-wB] を利用すると、空白・空行を無視して比較されます。テキスト内容は同じですので結果は返ってきません $ diff -wB test1.txt test2.txt
ディスカッション
コメント一覧
まだ、コメントがありません