0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

diffコマンドを裸で使ってるやつ、今すぐやめろ。

Posted at

はじめに

beforeファイルとafterファイルを用意した

beforeファイル

a@iMac-PC-0079 ~ % cat before 
apple
banana
grape
peach
orange

afterファイル

a@iMac-PC-0079 ~ % cat after
apple
banana
melon
blueberry
grape
peach
strawberry

diffったら以下の様になる

a@iMac-PC-0079 ~ % diff before after 
2a3,4
> melon
> blueberry
5c7
< orange
---
> strawberry

いやどこがどう変わったん...って初見だとなりますよね?
(今回のテストファイルが完結なものなのでまだ分かりやすいですが、煩雑になってくるとほんとに見づらいです。)

慣れてる人だったら、あ〜melonとblueberryが加わって、orangeとstrawberryが削除されたのねって分かりますが、> <←これで差分表示するの分かりにくすぎるだろ!

エンジニアになって最初の頃ずっと感じていて怒りに満ちていたので私が普段愛用している方法を紹介しようと思います。

解決策

-u オプションを使おう

これです。-uをつけるだけで劇的に見やすくなります。
ではご覧くださいどうぞ。

a@iMac-PC-0079 ~ % diff -u before after
--- before	2025-09-02 15:04:25
+++ after	2025-09-02 15:05:15
@@ -1,5 +1,7 @@
 apple
 banana
+melon
+blueberry
 grape
 peach
-orange
+strawberry

めっちゃ見やすくないですか?

いや自分しか見ないなら別に-u付けなくても良いんですよ。でもこれだったらafterでmelon blueberry strawberry が加わり、orangeが削除されたことが初見で誰でも分かりやすいですよね

(なんならデフォルトでこういう表示にしてほしかった)のは置いといて、違うdiffもせっかくなんで紹介しようと思います。

sdiff

sdiff -sを使うと以下のようになります。

a@iMac-PC-0079 ~ % sdiff -s before after 
                                                              > melon
                                                              > blueberry
orange                                                        | strawberry

ちょいクセですが左にbeforeにしかないもの、右にafterにしかないものが表示されます。うーんまあ及第点ですかね...


sdiffを使うと以下の様になります

あれオプションつけないほうが分かりやすくね?

こっちのがファイルの全体を表示してくれて、かつ差分も分かりやすいですね💡

a@iMac-PC-0079 ~ % sdiff before after 
apple                                                           apple
banana                                                          banana
                                                              > melon
                                                              > blueberry
grape                                                           grape
peach                                                           peach
orange                                                        | strawberry

いかがでしたでしょうか?
明日から、いや今日からこれを見た人は-uをつけて、🔰エンジニアに優しい世界を共に作りましょう!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?