Selasa, 20 Desember 2011

Compare 2 buah file di linux dengan "diff" dan "sdiff"





Sebelumnya saya pernah membahas bagaimana caranya dengan linux untuk melakukan komparasi atau perbandingan isi dari 2 buah file untuk mencari perbedaanya, yaitu menggunakan "Meld Diff Viewer"

Kali ini saya akan membahas bagaimana caranya melakukan komparasi isi dari 2 buah file yang hampir sama isinya untuk mencari perbedaan diantara keduanya.

Program yang saya gunakan di linux, khususnya ubuntu (karena saya pakainya ubuntu) adalah "diff" dan "sdiff"

Fungsi dari program "diff" dan "sdiff" sebetulnya sama dengan "Meld Diff Viewer", hanya bedanya "Meld Diff Viewer" dijalankan dari mode GUI Linux. Sedangkan perintah "diff" dan "sdiff" dijalankan dari command terminal linux. "diff" dan "sdiff" ini dapat di install dari synaptic maupun dari command line terminal ubuntu :

$ sudo apt-get install diffutils

Disini saya mempunyai 2 buah file yaitu file-1.txt dan file-2.txt :

$ cat file-1.txt
Selamat Datang Di Ubuntu 10.10

Dony Ramansyah
site : http://dony-ramansyah.bravehost.com
blog : dony-ramansyah.blogspot.com
email : dony.ramansyah[at]gmail.com
Registered linux user : ID 400171
dony@ITOP-DONY:~$ cat file-2.txt
Selamat Datang Di Ubuntu 10.10


$ cat file-2.txt
Selamat Datang Di Ubuntu 10.10

Dony Ramansyah
ubuntulinux.or.id
site : http://dony-ramansyah.bravehost.com
blog : dony-ramansyah.blogspot.com
email : dony.ramansyah[at]gmail.com
Registered linux user : ID 400171

Nah untuk membedakan isi file nya, caranya adalah sebagai berikut (ketikan perintah nya di terminal linux) :

Menggunakan perintah "sdiff"

1. Untuk membandingkan isi file-1 dengan isi file-2 (file-1 dibandingkan dengan file-2)

$ sdiff file-1.txt file-2.txt



2. Untuk membandingkan isi file-2 dengan isi file-1 (file-2 dibandingkan dengan file-1)

$ sdiff file-2.txt file-1.txt



Perbedaan output diatas, ditunjukan pada arah direction ("tanda > atau <"). Arah tanda "> atau <" tergantung file mana yang mau dibandingkan terlebih dahulu.

Apa perbedaanya dengan perintah "diff"


$ diff file-1.txt file-2.txt
3a4
> ubuntulinux.or.id


$ diff file-2.txt file-1.txt
4d3
< ubuntulinux.or.id

Dengan perintah "diff" ini maka output yang dihasilkan langsung kepada isi yang berbeda dari kedua file tersebut, dan kita bisa melihat juga arah direction nya ("tanda > atau <"). Arah tersebut prinsipnya sama dengan perintah "sdiff".

Sedangkan output "3a4" atau "4d3" adalah menandakan dimanakah letak baris perbedaan isi filenya.
Coba perhatikan hasil output perintah "sdiff" dan "diff" diatas. Arti dari "3a4" adalah bahwa perbedaannya ada pada baris ke-3 dari file-1 dan baris ke-4 dari file-2. Sedangkan arti dari "4d3" adalah bahwa perbedaannya ada pada baris ke-4 dari file-2 dan baris ke-3 dari file-1.

Perintah "diff" dan "sdiff" sangat berguna bagi saya untuk melakukan perbandingan atau komparasi isi dari dau buah file, terutama untuk melakukan komparasi file-file yang memiliki size yang besar seperti database dan hasilnya tentu lebih cepat dari pada menggunakan komparasi yang dilakukan oleh "Meld Diff Viewer" maupun melakukan komparasi dari databasenya langsung. Perintah "diff" dan "sdiff" dapat melakukan komparasi untuk file-file txt, mysql, csv, dll.

Semoga bisa bermanfaat juga untuk teman semua.

Dony Ramansyah
site : http://dony-ramansyah.bravehost.com
blog : dony-ramansyah.blogspot.com
email : dony.ramansyah[at]gmail.com
Registered linux user : ID 400171

Tidak ada komentar:

Posting Komentar

jika agan dan aganwati mau titip komentar atau pesan dipersilahkan ya