GNU/Linux >> Linux の 問題 >  >> Linux

diffコマンドの概要

コマンドdiff パッケージからdiffutils ファイルを1行ずつ比較します。前回のバックアップ以降にファイルに最近変更があったかどうか、およびそれらが何であるかを確認する場合に非常に便利です。 0の終了ステータス 違いが見つからなかったことを意味します。1 いくつかの違いが見つかったことを意味し、2 トラブルを意味します。そしてもちろん、変更がある場合は、diff それらを表示します。しかし、いくつかの例を見てみましょう。

例1:両方のファイルの内容が同じ

アリスとボブはそれぞれバーベキューをしていて、メニューを公開しています。私が最も楽しむメニューを決定するために、次のようにメニューを比較することができます。

$ diff menu1 menu2
$ echo $?
0
$ cat menu{1,2}
# The menu
* Spare Ribs
* Brisket
* Pulled Pork
# The menu
* Spare Ribs
* Brisket
* Pulled Pork

ほら、どちらもスペアリブ、ブリスケット、プルドポークを提供しています。両方のファイルに違いはありません。たぶん、アリスとボブは力を合わせて本当に巨大なバーベキューを主催するべきです。

アリスとボブがパーティーを開いていると聞いたイブは、嫉妬し、バーベキューも主催することにしました。彼女のメニューにはファイルmenu3が付属しています 。さて、彼女のメニューの違いをアリスやボブと比較してみましょう。

例2:飲み物が含まれています

$ diff menu1 menu3
4a5,8
> 
> # Drinks
> * Soda
> * Beer
$ echo $?
1
$

現在、違いがあります。そして、最初の行の出力で、diff (a)menu1に何を追加する必要があるかを教えてくれます menu3と同じコンテンツになるようにします 。つまり、4a5,8 これは、menu1の4行目の後にいくつかの行を追加する必要があることを意味します menu3の5〜8行目のように表示されます 。

ファイルの位置を切り替えると、出力は異なって見えます:

$ diff menu3 menu1
5,8d4
< 
< # Drinks
< * Soda
< * Beer

さて、diff menu3の5〜8行目は ファイルをmenu1と同一にするために、削除する必要があります(d) 。

例3:変更するものがある場合

menu1を編集しました およびmenu2 再びこのようになります:

# The menu
* Spare Ribs
* Brisket
* Pulled Pork

# The menu
* Spare Ribs
* Pulled Pork
* Pulled Pork

今回は、diff 両方のファイルを同じように見せるために、どちらの行を変更する必要があるかを示します(c):

$ diff menu1 menu2
3c3
< * Brisket
---
> * Pulled Pork

まとめ

diff コマンドは、ファイルを1行ずつ比較するための簡単で柔軟なツールです。 diff(1)をご覧ください diffで他に何ができるかを理解する 。

[システム管理者のスキルをテストしたいですか?今日、スキル評価を受けてください。 ]


Linux
  1. Linuxのchmodコマンドの概要

  2. Linuxのchownコマンドの概要

  3. Linux での locate コマンド

  1. Linuxコマンドラインでのtcpdumpの使用の概要

  2. Linuxlsコマンドをマスターする

  3. GNUコアユーティリティの紹介

  1. viエディターの紹介

  2. Linuxでのalternativesコマンドの概要

  3. xargsコマンドの実用的なビュー