高木のブログ

diff コマンドの結果を git diff コマンドの結果のような形式にする

2022/05/17

このようなファイルがあった時

a.rb
fruits = {
  apple: 100,
  orange: 70,
  peach: 200,
}
b.rb
fruits = {
  apple: 100,
  orange: 80,
  peach: 200,
  grape: 150,
}

普通に diff コマンドを叩くと以下のような出力になる

$ diff a.rb b.rb
3c3
<   orange: 70,
---
>   orange: 80,
4a5
>   grape: 150,

慣れていないせいか、読みにくい

-u オプションを付けると、 git diff コマンドのような形式の出力になる

$ diff -u a.rb b.rb
--- a.rb        2022-05-17 00:30:16.000000000 +0900
+++ b.rb        2022-05-17 00:30:51.000000000 +0900
@@ -1,5 +1,6 @@
 fruits = {
   apple: 100,
-  orange: 70,
+  orange: 80,
   peach: 200,
+  grape: 150,
 }

どちらかというと、 git diff がこれを採用しているだけなのかもしれない

参考

git diff コマンドとふつうの diff / patch コマンド | gotohayato.com


ytkg

Written by ytkg, Twitter, GitHub