Linuxのよく使うコマンド(diffで差分を確認)

目次

diffで2つのファイルを比較する

diffで以下2つのファイルを比較します。

test1.txt

123
456
789

test2.txt

123
455
789
abc

test2.txtの2行目は、test1.txtの2行目と異なっています。
4行目は、test2.txtのみにあります。

 

diffコマンドで差分を確認する

diff ファイル1 ファイル2

diffコマンドで確認します。

$ diff test1.txt test2.txt 
2c2
< 456
---
> 455
3a4
> abc

2行目の2c2のcは、changedを表し変更の意味です。
2cの2はtest1.txtの2行目です。
c2の2はtest2.txtの2行目です。

3行目の < 456 は、test1.txtの2行目で456になっています。
5行目の > 455 は、test2.txtの2行目で455になっています。

6行目の3a4のaは、addedを表し追加の意味です。
3a4の4はtest2.txtの4行目です。

7行目の > abcは、test2.txtの4行目でabcになっています。

dが表示された場合は、deletedを意味し削除の意味です。

 

ファイルを左右に表示する(-yオプション)

diff -y ファイル1 ファイル2

diffコマンドにyオプションをつけるとファイルを左右に表示します。

$ diff -y test1.txt test2.txt 
123							 123
456							|455
789							 789
							>abc

3行目は、右側に縦線があります。変更がある行です。
5行目の>は、test2.txtのみある行を表しています。

 

diffコマンドで差分を確認する(-cオプション)

diff -c ファイル1 ファイル2

-cオプションをつけると以下のように出力されます。(Context形式)

$ diff -c test1.txt test2.txt 
*** test1.txt	2023-03-02 05:52:51.257869339 -0800
--- test2.txt	2023-03-02 05:52:37.787091606 -0800
***************
*** 1,3 ****
  123
! 456
  789
--- 1,4 ----
  123
! 455
  789
+ abc 

!は変更で、+は追加です。

 

diffコマンドで差分を確認する(-uオプション)

diff -u ファイル1 ファイル2

-uオプションをつけると以下のように出力されます。(Unified形式)

$ diff -u test1.txt test2.txt 
--- test1.txt	2023-03-02 05:52:51.257869339 -0800
+++ test2.txt	2023-03-02 05:52:37.787091606 -0800
@@ -1,3 +1,4 @@
 123
-456
+455
 789
+abc 

変更がある箇所は-と+で、追加は+になっています。

関連の記事

CentOS コマンド一覧 (Linux)

△上に戻る