fixmint
VI

Cách tìm điểm khác nhau giữa hai phiên bản của một văn bản

Tác giả: · · cập nhật 8 tháng 11, 2026 · 4 phút đọc

Để tìm điểm khác nhau giữa hai phiên bản, hãy dán cả hai vào công cụ so sánh. Công cụ sẽ căn các văn bản thẳng hàng, liệt kê những dòng khác nhau và đánh dấu các từ đã đổi trong từng cặp dòng. Cách này phù hợp với cả mã nguồn lẫn văn bản thông thường: một từ được sửa trong đoạn văn dài sẽ nổi bật, còn phần còn lại của đoạn không bị ảnh hưởng.

So sánh văn bảnĐã thay đổi gì giữa hai bản?Dùng miễn phí

Cách hoạt động của diff

Diff tìm dãy con chung dài nhất (LCS): chuỗi các mục dài nhất xuất hiện ở cả hai phiên bản, theo đúng thứ tự. Các mục này không nhất thiết phải nằm liền kề nhau. Mọi thứ nằm trong chuỗi chung đó đều không thay đổi. Phần còn lại hoặc là phần thêm vào, chỉ xuất hiện ở phiên bản mới, hoặc là phần bị xóa, chỉ xuất hiện ở phiên bản cũ.

Đây là một ví dụ nhỏ. Văn bản cũ là "A B C D" và văn bản mới là "A C X D". Chuỗi chung dài nhất là "A C D", nên B là phần bị xóa và X là phần được thêm vào. Công cụ so sánh cũng làm như vậy với tài liệu dài, nhờ đó nó cho bạn một danh sách thay đổi chính xác, thay vì hai khối văn bản đặt cạnh nhau.

Dòng và từ

  • Dòng phù hợp với mã nguồn, tệp cấu hình, danh sách và mọi thứ có một mục trên mỗi dòng. Một dòng bị đổi sẽ hiện thành một dòng bị xóa theo sau bởi một dòng được thêm.
  • Từ phù hợp với bài luận, hợp đồng và mọi loại văn xuôi. Trong từng cặp dòng đã đổi, công cụ so sánh chỉ đánh dấu những từ thực sự thay đổi, nên một câu chỉ sửa một từ sẽ không trông như bị viết lại.

Ví dụ minh họa: một từ quan trọng

Hãy xét hai phiên bản của một điều khoản:

  • Cũ: "Nhà cung cấp phải giao hàng trong vòng 14 ngày kể từ ngày đặt hàng."
  • Mới: "Nhà cung cấp có thể giao hàng trong vòng 30 ngày kể từ ngày đặt hàng."

Trong công cụ so sánh, câu này hiện thành một dòng bị xóa và một dòng được thêm. Các từ được đánh dấu cho thấy đúng hai thay đổi: "phải" thành "có thể", và "14" thành "30". Phần còn lại của câu giữ nguyên. Thay đổi đầu tiên làm thay đổi ý nghĩa, vì một nghĩa vụ đã trở thành một lựa chọn, nên hãy đọc kỹ các từ được đánh dấu.

Bỏ qua khoảng trắng và chữ hoa

Khác biệt về khoảng trắng và chữ hoa thường che khuất thay đổi thực sự, vì vậy công cụ có các ô chọn cho chúng:

  • Chọn Bỏ qua khoảng trắng khi chỉ có khoảng cách thay đổi, chẳng hạn các khoảng trắng thừa ở cuối dòng do trình soạn thảo thêm vào.
  • Chọn Bỏ qua chữ hoa khi một danh sách được gõ bởi nhiều người. Đừng bỏ qua chữ hoa ở những chỗ quan trọng, chẳng hạn khóa cấu hình hoặc tên tệp trên Linux.
  • Chọn Chỉ hiển thị dòng thay đổi để ẩn phần văn bản không đổi trong một bản so sánh dài.

Ví dụ, "Tổng: 100" và "tổng: 100" có cùng nội dung nếu bỏ qua chữ hoa. Trong một tệp mà khóa phân biệt chữ hoa thường, hai dòng này là hai thiết lập khác nhau, vì vậy không nên bỏ qua chữ hoa ở đó.

Cách làm với fixmint

  1. Dán phiên bản cũ vào Bản gốc và phiên bản mới vào Bản đã sửa.
  2. Chỉ chọn Bỏ qua khoảng trắng hoặc Bỏ qua chữ hoa khi những khác biệt đó không ảnh hưởng đến việc kiểm tra của bạn.
  3. Đọc các dòng thay đổi trước, rồi đọc các từ được đánh dấu bên trong chúng.
  4. Chọn Chỉ hiển thị dòng thay đổi để ẩn phần văn bản không đổi trong bản so sánh dài.
  5. Nhấn Sao chép diff để giữ lại kết quả.

Các trường hợp đặc biệt

  • Đoạn văn bị di chuyển. Diff giữ nguyên thứ tự gốc, nên một đoạn đã được chuyển chỗ sẽ hiện là một phần bị xóa ở vị trí này và một phần được thêm ở vị trí khác. Hãy tự dò tìm bằng mắt, hoặc so sánh riêng hai phần.
  • Văn bản bị ngắt dòng lại. Nếu phiên bản mới được xuống dòng lại theo độ rộng khác, so sánh theo dòng sẽ báo những thay đổi không có thật. Hãy nối các dòng trước bằng sửa văn bản dán vào, rồi mới so sánh. Hướng dẫn về ngắt dòng giải thích các quy tắc.
  • Ký tự ẩn. Ký tự vô hình hiện thành thay đổi dù không có gì nhìn thấy được thay đổi. Xóa chúng trước khi so sánh.
  • Viết lại gần như toàn bộ. Khi hầu hết nội dung đã đổi, diff khó đọc. Hãy so sánh từng phần một.

Cách đọc kết quả

Bắt đầu với phần bị xóa, rồi đến phần được thêm vào. Kiểm tra số, ngày tháng, tên và các từ phủ định trước, vì chỉ một chữ số bị đổi có thể quan trọng hơn cả trang chữ được diễn đạt lại. Trong ví dụ hợp đồng, hai từ đổi trong một câu 12 từ là một chỉnh sửa nhỏ, và các từ được đánh dấu giúp bạn dễ nhận ra. Nếu bạn đang so sánh hai phiên bản bài viết của chính mình, so sánh số từ cũng có thể cho biết phiên bản mới dài ra hay ngắn đi.

Khi hai phiên bản do những người khác nhau viết, hãy đặt tên cho chúng, chẳng hạn "bản nháp 3" và "bản nháp 4", và giữ nguyên tệp cũ. Đọc các thay đổi theo thứ tự từ trên xuống dưới giúp bạn theo dõi cách một lập luận hay một điều khoản đã thay đổi qua các lần sửa. Cách này chậm hơn so với việc chỉ quét tìm thay đổi lớn nhất, nhưng ít có khả năng bỏ sót một thay đổi nhỏ.

Diff theo dòng không phù hợp với dữ liệu có cấu trúc, nơi một ô đổi có thể làm lệch cả hàng và mọi dòng sau đó. So sánh hai bảng tính theo từng ô, hoặc so sánh hai tệp JSON theo từng khóa, để có danh sách thay đổi khớp với dữ liệu.

Trả lời nhanh

Diff là gì?

Diff là danh sách những gì đã được thêm và xóa giữa hai phiên bản, được tính từ chuỗi dài nhất mà hai phiên bản cùng có.

Nên so sánh theo dòng hay theo từ?

Dùng dòng cho mã nguồn và danh sách, nơi mỗi dòng là một mục riêng. Dùng từ cho văn xuôi, nơi một câu có thể đã đổi bên trong một đoạn.

Vì sao diff hiện cả đoạn văn là đã đổi?

Thường là do ngắt dòng, khoảng trắng hoặc ký tự ẩn khác nhau. Hãy bỏ qua khoảng trắng, định dạng lại văn bản hoặc xóa ký tự ẩn, rồi so sánh lại.

Được dịch từ Bản tiếng Anh với sự hỗ trợ của AI.

Bình luận

    Chưa có bình luận nào. Hãy là người đầu tiên.

    Đánh giá của bạn (không bắt buộc)

    Email của bạn không bao giờ được hiển thị hoặc lưu lại.

    Bìa của How to Remain Valuable When Intelligence Becomes CheapHow to Remain Valuable When Intelligence Becomes Cheap

    224 trang về những lợi thế của con người, kinh tế và chiến lược vẫn khan hiếm khi AI có thể làm phần lớn công việc tư duy.

    $3.84Mua trên GumroadBản tiếng Anh