Perintah diff
dari paket diffutils
membandingkan file baris demi baris. Itu sangat berguna ketika Anda ingin memeriksa apakah ada perubahan terbaru pada file sejak cadangan terakhir dan apa itu. Status keluar dari 0
berarti tidak ada perbedaan yang ditemukan, 1
berarti ditemukan beberapa perbedaan, dan 2
berarti masalah. Dan tentunya jika ada perubahan diff
akan menunjukkannya kepada Anda. Tapi mari kita lihat beberapa contohnya.
Contoh 1:Kedua file memiliki konten yang sama
Alice dan Bob masing-masing mengadakan barbekyu dan telah menerbitkan menu mereka. Untuk menentukan menu mana yang paling saya sukai, saya bisa membandingkan menu-menunya sebagai berikut:
$ diff menu1 menu2
$ echo $?
0
$ cat menu{1,2}
# The menu
* Spare Ribs
* Brisket
* Pulled Pork
# The menu
* Spare Ribs
* Brisket
* Pulled Pork
Soalnya, keduanya menyajikan iga, sandung lamur, dan babi geprek. Tidak ada perbedaan antara kedua file. Mungkin Alice dan Bob harus bergabung untuk mengadakan pesta barbekyu yang sangat besar.
Ketika Eve mendengar bahwa Alice dan Bob mengadakan pesta, dia cemburu dan memutuskan untuk mengadakan barbekyu juga. Menunya dilengkapi dengan file menu3
. Nah, mari kita lihat apa perbedaan menunya dibandingkan dengan menu Alice dan Bob.
Contoh 2:Sekarang ada minuman yang terlibat
$ diff menu1 menu3
4a5,8
>
> # Drinks
> * Soda
> * Beer
$ echo $?
1
$
Ada perbedaan sekarang. Dan, dengan output di baris pertama, diff
memberi tahu kami apa yang harus ditambahkan (a) ke menu1
sehingga memiliki konten yang sama dengan menu3
. Jadi, 4a5,8
berarti Anda harus menambahkan beberapa baris setelah baris 4 di menu1
sehingga terlihat seperti baris 5-8 di menu3
.
Saat mengganti posisi file, outputnya terlihat berbeda:
$ diff menu3 menu1
5,8d4
<
< # Drinks
< * Soda
< * Beer
Sekarang, diff
memberi tahu kita bahwa baris 5-8 di menu3
harus dihapus (d) agar file identik dengan menu1
.
Contoh 3:Ketika ada sesuatu yang harus diubah
Saya telah mengedit menu1
dan menu2
lagi menjadi seperti ini:
# The menu
* Spare Ribs
* Brisket
* Pulled Pork
# The menu
* Spare Ribs
* Pulled Pork
* Pulled Pork
Kali ini, diff
akan menunjukkan kepada kita baris mana yang harus diubah (c) agar kedua file terlihat sama:
$ diff menu1 menu2
3c3
< * Brisket
---
> * Pulled Pork
Membungkusnya
diff
command adalah alat yang mudah dan fleksibel untuk digunakan untuk membandingkan file baris demi baris. Lihat diff(1)
untuk mencari tahu apa lagi yang dapat dilakukan dengan diff
.
[ Ingin menguji kemampuan sysadmin Anda? Ikuti penilaian keterampilan hari ini. ]