diff · + ditambah · − dibuang
Banding teks
Membandingkan “red, green, blue” dengan “red, yellow, blue” baris demi baris menghasilkan 1 baris ditambah, 1 baris dibuang dan 2 tidak berubah. Tampal dua teks untuk melihat setiap perbezaan.
- +1 −1 =2
- @@ -1,3 +1,3 @@
Setiap baris yang ditambah ditanda + dan setiap baris yang dibuang ditanda −, selain diwarnakan, dan aksara yang berubah dalam baris yang diganti diserlahkan. Teks kecil dibandingkan semasa anda menaip; teks tidak pernah keluar dari tab ini.
Scanned by NortonTM Safe Web
Sepintas lalu
- Harga
- Tiada caj
- Akaun
- Tidak diperlukan
- Muat naik
- Tidak berkenaan — kedua-dua teks kekal dalam tab anda
- Kaedah
- Subjujukan sepunya terpanjang bagi baris, dengan aksara berubah diserlahkan
- Output
- Baris berwarna dan bertanda, atau diff bersatu dengan 3 baris konteks
- Had saiz
- 5,000 baris dan 5,000,000 aksara bagi setiap teks
Satu perbandingan contoh dan kesan pilihan
Jadual datang daripada kod yang sama seperti alat. Yang pertama membandingkan dua teks tiga baris; yang kedua menunjukkan bagaimana pilihan mengubah hasil bagi sepasang baris.
| Penanda | Baris |
|---|---|
| = | red |
| − | green |
| + | yellow |
| = | blue |
| Tetapan | Baris ditambah | Baris dibuang |
|---|---|---|
| Tepat | 1 | 1 |
| Abaikan huruf besar kecil | 1 | 1 |
| Abaikan ruang kosong | 1 | 1 |
| Abaikan huruf besar kecil dan ruang kosong | 0 | 0 |
Cara membandingkan dua teks
Tampal kedua-dua teks
Letakkan teks yang lebih lama dalam kotak Asal dan teks yang lebih baharu dalam kotak Diubah. Dua contoh pendek sudah ada. Tukar menukar kedua-dua kotak, dan Kosongkan mengosongkan kedua-duanya.
Pilih apa yang dikira sebagai perbezaan
Tandakan Abaikan huruf besar kecil untuk menganggap “Hello” dan “hello” sebagai baris yang sama, dan Abaikan ruang kosong untuk mengabaikan ruang di hujung baris dan ruang berulang di dalamnya. Papar perubahan sahaja melipat baris yang tidak berubah, dengan mengekalkan 3 baris di sekeliling setiap perubahan.
Baca atau salin perbezaan
Baris bertanda − hanya wujud dalam Asal, baris bertanda + hanya dalam teks Diubah. Salin diff bersatu untuk ditampal ke dalam mesej atau tampalan, atau muat turun sebagai fail .diff.
Cara perbandingan berfungsi
Kedua-dua teks dipecahkan kepada baris, dan alat mencari subjujukan sepunya terpanjang bagi baris: set baris terbesar yang muncul dalam kedua-dua teks mengikut susunan yang sama. Setiap baris di luar set itu dilaporkan sebagai dibuang (hanya dalam asal) atau ditambah (hanya dalam teks yang diubah), jadi diff mempunyai baris berubah paling sedikit yang mungkin. Apabila baris yang dibuang diikuti terus oleh baris yang ditambah, aksara yang berbeza antara kedua-duanya diserlahkan.
Diff berfungsi pada baris kerana baris ialah unit yang berubah dalam kod, fail konfigurasi dan senarai, dan perbandingan baris kekal pantas untuk beribu-ribu baris. Baris yang dialihkan dipaparkan sekali sebagai dibuang dan sekali sebagai ditambah; perkataan yang berubah dipaparkan sebagai baris yang diganti, dengan aksara diserlahkan. Pengakhir baris dinormalkan, jadi fail yang disimpan dengan pemisah baris Windows sepadan dengan fail yang sama yang disimpan dengan pemisah baris Unix. Setiap teks boleh mempunyai sehingga 5,000 baris dan 5,000,000 aksara. Output diff bersatu menggunakan format biasa: pengepala --- dan +++, kemudian hunk @@ dengan 3 baris konteks.
Soalan banding teks
Bagaimana diff teks menentukan apa yang berubah?
Ia mencari subjujukan sepunya terpanjang bagi baris, iaitu baris paling banyak yang dikongsi kedua-dua teks mengikut susunan yang sama. Baris di luarnya ditanda − jika hanya yang asal mempunyainya dan + jika hanya teks yang diubah mempunyainya. “red, green, blue” berbanding “red, yellow, blue” mengekalkan red dan blue, membuang green dan menambah yellow.
Mengapa perbandingan berfungsi pada baris dan bukan pada perkataan?
Baris ialah cara kod, log, senarai dan fail konfigurasi disusun, dan hasil berasaskan baris cukup pendek untuk dibaca. Bagi baris yang diganti, aksara yang berbeza diserlahkan di dalamnya, jadi perubahan satu perkataan dalam ayat yang panjang mudah dikesan.
Apakah maksud warna dan tanda + dan −?
Baris hijau bertanda + telah ditambah dalam teks Diubah. Baris merah bertanda − telah dibuang daripada Asal. Baris tanpa tanda adalah sama dalam kedua-duanya. Tanda dicetak selain warna, jadi hasilnya boleh dibaca tanpa membezakan merah daripada hijau.
Bagaimana saya mengabaikan perbezaan huruf besar kecil atau ruang?
Tandakan Abaikan huruf besar kecil untuk membandingkan baris tanpa mengambil kira huruf besar, dan Abaikan ruang kosong untuk mengabaikan ruang di awal dan akhir baris serta menganggap sebarang rangkaian ruang di dalamnya sebagai satu ruang. Dengan kedua-duanya ditandakan, “Hello World” dan “hello world” ialah baris yang sama.
Sebesar mana kedua-dua teks boleh dibuat?
Setiap teks boleh mempunyai sehingga 5,000 baris dan 5,000,000 aksara. Teks 5,000 baris yang dibandingkan dengan salinan tersusun semulanya diproses dalam masa jauh kurang daripada satu saat pada komputer semasa. Melebihi 100,000 aksara secara keseluruhan, perbandingan bermula apabila anda menekan Banding dan bukan semasa anda menaip.
Apakah diff bersatu?
Ia ialah format teks yang digunakan oleh diff dan Git. Ia bermula dengan baris --- dan +++ yang menamakan dua teks, kemudian satu blok bagi setiap kumpulan perubahan. Blok bermula dengan pengepala seperti @@ -1,3 +1,3 @@, bermaksud 3 baris dari baris 1 teks asal dan 3 baris dari baris 1 teks yang diubah, dan setiap baris bermula dengan ruang, + atau −.