UltKit

So sánh văn bản

Dán bản gốc vào ô bên trái và phiên bản mới vào ô bên phải. Dòng bị xóa hiển thị màu đỏ, dòng được thêm hiển thị màu xanh lá, còn trong một dòng đã sửa, những từ thực sự thay đổi sẽ được tô sáng, nhờ đó bạn dễ dàng phát hiện dù chỉ một từ khác biệt trong đoạn văn dài.

0 ký tự · 0 từ · 0 dòng

0 ký tự · 0 từ · 0 dòng

Dán văn bản vào cả hai ô để xem các điểm khác biệt tại đây.

0 ký tự · 0 từ · 0 dòng

Dòng màu đỏ (−) chỉ có trong văn bản gốc, dòng màu xanh lá (+) chỉ có trong văn bản đã sửa; chữ đậm đánh dấu những từ khác nhau. Chạy hoàn toàn trong tab trình duyệt này. Văn bản của bạn không bao giờ được tải lên hay lưu trữ.

Công cụ này làm gì

So sánh văn bản so sánh hai văn bản theo từng dòng bằng thuật toán dãy con chung dài nhất (LCS), đánh dấu dòng bị xóa màu đỏ và dòng được thêm màu xanh lá, đồng thời làm nổi bật chính xác những từ đã thay đổi trong một dòng được chỉnh sửa.

Trước
chú cáo nâu nhanh nhẹn
→ chú cáo đỏ nhanh nhẹn
Sau
- chú cáo nâu nhanh nhẹn
+ chú cáo đỏ nhanh nhẹn

Cách so sánh hoạt động

Công cụ tách cả hai văn bản thành từng dòng rồi tìm chuỗi con chung dài nhất: tập hợp dòng lớn nhất xuất hiện ở cả hai văn bản theo cùng thứ tự. Những dòng đó được hiển thị là không thay đổi; phần còn lại của bản gốc là dòng bị xóa, còn phần còn lại của văn bản mới là dòng được thêm. Đây cũng là ý tưởng đằng sau chương trình diff cổ điển của Unix, do Hunt và McIlroy mô tả năm 1976, và đằng sau giao diện xem thay đổi của các hệ thống quản lý phiên bản.

Khi một loạt dòng bị xóa nằm ngay trước một loạt dòng được thêm, thường đó là các dòng đã được chỉnh sửa. Công cụ ghép chúng thành từng cặp và chạy thêm lần so sánh thứ hai theo từng từ trong mỗi cặp, nên bạn thấy ngay "Thứ Ba" đã thành "Thứ Tư" mà không cần đọc lại cả hai dòng. Số dòng của cả hai phiên bản được hiển thị bên trái để bạn tìm từng thay đổi trong tệp của mình.

Bỏ qua khác biệt không quan trọng: chữ hoa/thường và khoảng trắng

Hai văn bản có thể khác nhau ở những điểm bạn không quan tâm: một dòng được thụt lề bằng tab thay vì dấu cách, khoảng trắng thừa ở cuối dòng do trình soạn thảo để lại, hoặc tiêu đề đổi từ chữ hoa sang chữ thường. Tùy chọn bỏ qua khác biệt khoảng trắng coi mọi chuỗi dấu cách và tab là một dấu cách và bỏ qua khoảng trắng ở cuối dòng; tùy chọn bỏ qua chữ hoa/thường so sánh các dòng mà không phân biệt kiểu chữ. Kết quả được tô sáng vẫn hiển thị văn bản mới đúng như đã viết.

Ngoài ra, việc so sánh là chính xác tuyệt đối: dấu nháy cong và dấu nháy thẳng là hai ký tự khác nhau, dấu gạch nối và dấu gạch ngang en cũng vậy. Nếu một dòng bị đánh dấu nhưng trông giống hệt, nguyên nhân thường là dấu câu typo hoặc khoảng trắng không ngắt dòng.

Các trường hợp sử dụng phổ biến

Người viết so sánh các bản nháp biên tập viên gửi lại; luật sư và bên mua kiểm tra điều khoản nào đã thay đổi trong phiên bản hợp đồng mới; lập trình viên so sánh tệp cấu hình hoặc nhật ký của hai lần chạy; sinh viên kiểm tra bước diễn đạt lại thực sự đã sửa gì. Kết quả có thể được sao chép hoặc tải xuống dưới dạng văn bản thuần theo kiểu unified diff, với dấu trừ trước dòng bị xóa và dấu cộng trước dòng được thêm. Với các việc dọn dẹp khác, những công cụ văn bản còn lại hoạt động theo cách tương tự, hoàn toàn trong trình duyệt của bạn.

Câu hỏi thường gặp

Văn bản tôi so sánh có bị tải lên đâu không?
Không. Cả hai văn bản chỉ nằm trong thẻ trình duyệt này; việc so sánh được tính bằng JavaScript trên thiết bị của bạn, nên có thể so sánh bản nháp và hợp đồng mật một cách an toàn.
Vì sao đoạn văn bị di chuyển lại hiển thị là đã xóa và đã thêm?
Diff theo dòng chỉ giữ lại những dòng còn nguyên thứ tự tương đối. Khi một khối bị di chuyển, thuật toán giữ một vị trí và báo vị trí kia là một lần xóa cộng một lần thêm, giống như git diff.
Văn bản có thể dài tối đa bao nhiêu?
Vài nghìn dòng mỗi bên vẫn được so sánh ngay lập tức. Các dòng giống nhau ở đầu và cuối được bỏ qua trước khi so sánh chính; nếu phần giữa còn lại quá lớn, công cụ sẽ yêu cầu bạn chia nhỏ văn bản thay vì làm treo thẻ trình duyệt.
Tôi có thể so sánh trực tiếp file Word hoặc PDF không?
Hãy dán nội dung văn bản của chúng. Sao chép từ Word sẽ giữ các đoạn thành từng dòng; văn bản sao chép từ PDF thường có ngắt dòng cứng, bạn có thể xóa trước bằng công cụ Xóa ngắt dòng.
Dấu trừ và dấu cộng trong file tải xuống có ý nghĩa gì?
Dòng bắt đầu bằng dấu trừ chỉ có ở bản gốc, dòng bắt đầu bằng dấu cộng chỉ có ở văn bản đã thay đổi, còn dòng bắt đầu bằng hai dấu cách là không thay đổi.