Linux便利コマンド : diff

うめだ
2023-03-16
2023-06-09
目次

はじめに

みなさま、diffコマンドはご存じかと思います。

設定ファイルを編集したあと、バックアップしておいた編集前のファイルと編集後のファイルを比較し、想定していたとおりの差分になっていることを確認する際、利用します。

diffコマンドでの差分確認といっても、ひとそれぞれ使い方、指定するオプションに違いがあると思います。

そこで、私がいつも指定しているオプション含めて、使い方を紹介します。

環境

OS : AlmaLinux 8
diffバージョン : 3.6

使い方

まずはサンプルファイルを作成します。

$ echo -e "hoge\nhoge\nhoge" > henkoumae.txt
$ cat henkoumae.txt
hoge
hoge
hoge
$
$ cp -p henkoumae.txt henkougo.txt

henkougo.txt を編集して、2行目の hoge を fuga へ変更し、4行目に fuga を追記します。

では、diffで差分を確認してみます。

 $ diff henkoumae.txt henkougo.txt
1a2
> fuga
3c4
< hoge
---
> fuga
$

特にオプションを指定しないと、編集した内容が差分として、上記のように表示されます。

私は比較するファイルの内容をそれぞれ表示させつつ、比較結果を確認したいので、-y オプションを利用します。

$ diff -y henkoumae.txt henkougo.txt
hoge                                                            hoge
                                                              > fuga
hoge                                                            hoge
hoge                                                          | fuga

$

このほうが差分がわかりやすいですよね。あと、よく利用するオプションは -u です。

$ diff -u henkoumae.txt henkougo.txt
--- henkoumae.txt       2023-03-05 18:13:15.053996128 +0900
+++ henkougo.txt        2023-03-05 18:24:15.066178927 +0900
@@ -1,3 +1,4 @@
 hoge
+fuga
 hoge
-hoge
+fuga
$

設定変更手順を記載する際、変更後のdiff確認として、上記表示を参考情報として記載したりしています。

まとめ

いかがでしたか?

diffでの差分確認について、ひとそれぞれ好みがあると思いますが、私は、-y と -u を利用しています。その他、-c -W といった便利オプションもありますので、機会があればお試しください。

ぜひ、diffコマンドを活用してみてください。