Panduan ini akan menunjukkan kepada anda cara menggunakan Linux untuk membandingkan dua fail dan output perbezaannya ke skrin atau ke fail.
Anda tidak perlu memasang perisian khas untuk membandingkan fail menggunakan Linux tetapi anda perlu tahu cara membuka tetingkap terminal.
Memandangkan panduan yang dipaut menunjukkan terdapat banyak cara untuk membuka tetingkap terminal menggunakan Linux. Yang paling mudah adalah dengan menekan kekunci CTRL, ALT dan T pada masa yang sama.
Mencipta Fail untuk Bandingkan
Untuk mengikuti bersama panduan ini buat fail bernama "file1" dan masukkan teks berikut:
10 botol hijau berdiri di dinding
10 botol hijau berdiri di dinding
Jika satu botol hijau tidak jatuh secara tidak sengaja
Terdapat 9 botol hijau berdiri di dinding
Anda boleh membuat fail dengan mengikuti arahan ini:
-
Buka fail dengan menaip arahan berikut: nano file1
-
Taip teks ke dalam editor nano
-
Tekan CTRL dan O untuk menyimpan fail
-
Tekan CTRL dan X untuk keluar dari fail
Sekarang buat fail lain yang dipanggil "file2" dan masukkan teks berikut:
10 botol hijau berdiri di dinding
Sekiranya 1 botol hijau tidak sengaja jatuh
Akan ada 9 botol hijau berdiri di dinding
Anda boleh membuat fail dengan mengikuti arahan ini:
-
Buka fail dengan menaip arahan berikut: nano file2
-
Taip teks ke dalam editor nano
-
Tekan CTRL dan O untuk menyimpan fail
-
Tekan CTRL dan X untuk keluar dari fail
Bagaimana Membandingkan Dua Fail Menggunakan Linux
Perintah yang digunakan dalam Linux untuk menunjukkan perbezaan antara 2 fail dipanggil perintah diff.
Bentuk yang paling sederhana dari perintah diff adalah seperti berikut:
diff file1 file2
Jika fail adalah sama maka tiada output apabila menggunakan arahan ini, namun, kerana terdapat perbezaan, anda akan melihat output yang serupa dengan yang berikut:
2,4c2,3
<10 botol hijau berdiri di dinding
<Jika satu botol hijau tidak jatuh secara tidak sengaja
<Akan ada 9 botol hijau berdiri di dinding
…
> Jika 1 botol hijau tidak sengaja jatuh
> Akan ada 9 botol hijau berdiri di dinding
Pada mulanya, output mungkin kelihatan mengelirukan tetapi apabila anda memahami istilah itu agak logik.
Menggunakan mata anda sendiri, anda dapat melihat bahawa perbezaan antara 2 fail adalah seperti berikut:
- Fail kedua hanya mempunyai tiga baris manakala fail pertama mempunyai 4.
- Fail kedua mengatakan "1 botol hijau" pada baris ketiga sedangkan fail pertama mengatakan "satu botol hijau"
- Fail kedua mengatakan "ada" bukannya "ada" pada baris terakhir
Output dari perintah diff menunjukkan bahawa antara baris 2 dan 4 fail pertama dan baris 2 dan 3 fail kedua ada perbezaan.
Ia kemudian menyenaraikan garisan dari 2 hingga 4 dari fail pertama yang diikuti oleh 2 baris yang berbeza dalam fail kedua.
Bagaimana Hanya Tunjukkan Jika Fail Adakah Berbeza
Jika anda hanya ingin tahu jika fail berbeza dan anda tidak berminat dengan garis mana yang berbeza anda boleh menjalankan arahan berikut:
diff -q file1 file2
Jika fail berbeza, berikut akan dipaparkan:
Fail fail1 dan fail2 berbeza
Jika fail adalah sama maka tiada apa yang dipaparkan.
Cara Menunjukkan Mesej Jika Fail Sama
Apabila anda menjalankan arahan yang anda ingin tahu bahawa ia telah berfungsi dengan betul, maka anda mahu mesej dipaparkan apabila anda menjalankan perintah diff tanpa mengira sama ada fail adalah sama atau berbeza
Untuk mencapai keperluan ini dengan menggunakan perintah diff, anda boleh menggunakan arahan berikut :.
diff -s file1 file2
Sekarang jika fail adalah sama anda akan menerima mesej berikut:
Fail fail1 dan fail2 adalah sama
Bagaimana Menghasilkan Perbezaan Side by Side
Jika terdapat banyak perbezaan maka ia dapat dengan cepat menjadi membingungkan tentang apa yang sebenarnya perbezaan antara kedua-dua fail.
Anda boleh menukar output perintah diff supaya hasilnya dipaparkan bersebelahan. Untuk melakukan ini jalankan perintah berikut:
diff -y file1 file2
Output untuk fail menggunakan | | simbol untuk menunjukkan perbezaan antara dua baris, <a untuk menunjukkan garis yang telah dialih keluar dan> untuk menunjukkan satu baris yang telah dilampirkan.
Menariknya jika anda menjalankan arahan menggunakan fail demonstrasi kami maka semua baris akan dipaparkan sebagai berbeza kecuali baris akhir fail 2 yang akan ditunjukkan sebagai telah dihapuskan.
Membataskan Lebar Lajur
Apabila membandingkan dua fail bersebelahan, sukar untuk dibaca jika fail mempunyai banyak lajur teks.
Untuk menyekat beberapa lajur, gunakan arahan berikut:
Bagaimana Mengabaikan Perbezaan Kes Apabila Membandingkan Fail
Jika anda ingin membandingkan dua fail tetapi anda tidak peduli sama ada kes huruf adalah sama antara kedua-dua fail, maka anda boleh menggunakan perintah berikut:
Bagaimana Mengelakkan Ruang Berlian Putih di Akhir Jalur
Jika apabila membandingkan fail yang anda perhatikan banyak perbezaan dan perbezaan disebabkan oleh ruang putih pada akhir baris, anda boleh menghilangkan ini sebagai muncul sebagai perubahan dengan menjalankan perintah berikut:
Cara Abaikan Semua Perbezaan Ruang Putih Antara Dua Fail
Jika anda hanya tertarik dengan teks dalam fail dan anda tidak peduli sama ada terdapat lebih banyak ruang dalam satu daripada yang lain, anda boleh menggunakan arahan berikut:
Cara Abaikan Talian Blank Apabila Membandingkan Dua Fail
Jika anda tidak peduli bahawa satu fail mungkin mempunyai garis kosong tambahan di dalamnya maka anda boleh membandingkan fail menggunakan arahan berikut:
Ringkasan
Anda boleh mendapatkan lebih banyak maklumat dengan membaca manual untuk arahan diff.
diff lelaki
Perintah diff boleh digunakan dalam bentuk yang paling mudah untuk menunjukkan kepada anda perbezaan antara 2 fail tetapi anda juga boleh menggunakannya untuk membuat fail diff sebagai sebahagian daripada strategi menampal seperti yang ditunjukkan dalam panduan ini kepada arahan patch Linux.
Perintah lain yang boleh anda gunakan untuk membandingkan fail adalah arahan cmp seperti yang ditunjukkan oleh panduan ini. Ini membandingkan fail byte dengan bait.