مقایسه متن
دو نسخه از یک متن را جایگذاری کنید تا هر خط افزوده، حذفشده و تغییریافته را با کلمات تغییریافته برجسته ببینید.
هیچ چیزی که جایگذاری میکنید ذخیره نمیشود - هر دو متن در همان درخواست مقایسه و بازگردانده میشوند.
دو نسخه از یک متن را جایگذاری کنید تا هر خط افزوده، حذفشده و تغییریافته را با کلمات تغییریافته برجسته ببینید.
هیچ چیزی که جایگذاری میکنید ذخیره نمیشود - هر دو متن در همان درخواست مقایسه و بازگردانده میشوند.
قراردادی با تغییراتی برگشته که کسی به آنها اشاره نکرده است. یک فایل پیکربندی روی یک سرور کار میکند و روی دیگری نه. هر دو نسخه را اینجا بچسبانید و دقیقاً ببینید چه چیزی تغییر کرده است، خط به خط، با برجستهسازی واژههای تغییرکرده.
نسخهای را که فرستادید در یک طرف و نسخه برگشتی را در طرف دیگر بچسبانید. هر بند تغییرکرده بهصورت یک خط تغییرکرده با واژههای ویرایششده برجسته نشان داده میشود، پس مهلت پرداختی که از 30 به 45 روز رسیده یا سقف مسئولیتی که حذف شده بهراحتی دیده میشود. برای دقیقترین نتیجه هر بند را در یک خط بگذارید، و اگر طرف مقابل فقط فاصلهگذاری یا تورفتگی را تغییر داده، نادیده گرفتن فاصلهها را روشن کنید تا فقط تغییرات متن علامت بخورد.
متنها ابتدا خط به خط مقایسه میشوند، پس بهتر است هر بند، تنظیم یا رکورد در یک خط باشد. خطهای ویرایششده (نه افزوده یا حذفشده) با هم جفت میشوند و واژههایشان دوباره مقایسه میشود تا تغییر دقیق برجسته شود. برجستهسازی واژهها وقتی اعمال میشود که دو نسخه یک خط روی هم حداکثر 1,000 نویسه باشند، تا سقف 50,000 نویسه از خطهای ویرایششده در هر مقایسه؛ خطهای بلندتر بهطور کامل علامت میخورند. هر طرف تا 200,000 نویسه و 5,000 خط را میپذیرد.
نادیده گرفتن فاصلههای اضافی هر رشته از فاصلهها و تبها را به یک فاصله تبدیل میکند و آنها را از دو سر هر خط حذف میکند؛ پس خطی که تب یا فاصله در انتها دارد با همان کلمات با فاصلههای تکی یکی شمرده میشود. اما فاصلهها را کاملاً حذف نمیکند: "ab" و "a b" همچنان متفاوتاند. یک خط خالی، یا شکست خط پس از آخرین خطِ فقط یکی از دو متن، همچنان خط افزودهشده حساب میشود. نادیده گرفتن حالت حروف از تاخوردگی حالت (case folding) یونیکد استفاده میکند، پس "Straße" با "STRASSE" یکی است. وقتی گزینهای تفاوتی را پنهان میکند، خط به همان شکلی نشان داده میشود که در متن تغییریافته آمده است. شکست خط ویندوز (CRLF) و یونیکس یکسان شمرده میشوند؛ متنی با شکست خط مک قدیمی (فقط CR) یک خط طولانی خوانده میشود.
شباهت خطهای کامل را مقایسه میکند، نه نویسهها را: دو برابر تعداد خطهای یکسان تقسیم بر مجموع خطهای دو طرف. ده خط که یکی از آنها ویرایش شده 90% میدهد، اما متنی یکخطی که یک کلمهاش عوض شده 0% میدهد، هرچند بیشتر کلماتش یکسان است. برای سنجش در سطح جمله، ابتدا هر جمله را در خطی جداگانه بگذارید. درون یک بخش ویرایششده، خطهای تغییریافته به ترتیب با خطهای طرف دیگر جفت میشوند؛ اگر یک طرفِ آن بخش خطهای بیشتری داشته باشد، خطهای اضافه افزوده یا حذفشده شمرده میشوند.
پاراگرافی که شکست خط ندارد یک خط است، پس یک واژه ویرایششده کل خط را علامت میزند. واژههای تغییرکرده درون آن تا وقتی برجسته میشوند که دو نسخه خط روی هم از 1,000 نویسه بیشتر نشوند؛ پاراگراف بلندتر بهطور کامل علامت میخورد. اگر متن را از قبل به جملهها یا بندها تقسیم کنید، برجستهسازی دقیقتر و شمارشها مفیدتر میشوند.
بله. هر ستون را کپی کنید و هرکدام را در یک طرف بچسبانید؛ هر سلول یک خط میشود. مقایسه به ترتیب ردیفها پیش میرود، پس نشان میدهد دو فهرست کجا از هم جدا میشوند و کدام ردیفها اضافه یا حذف شدهاند. اگر ترتیب مهم نیست، ابتدا هر دو فهرست را با مرتبسازی الف تا ی در مبدل حالت حروف مرتب کنید تا فقط افزودهها و حذفهای واقعی علامت بخورند. نادیده گرفتن حالت حروف و نادیده گرفتن فاصلههای اضافی را روشن کنید تا حروف بزرگ و فاصلههای اضافه نادیده گرفته شوند. برای بررسی در خود Excel: فرمول =EXACT(A2,B2) دو سلول یک ردیف را با حساسیت به حروف بزرگ و کوچک مقایسه میکند (یک =A2=B2 ساده به آن حساس نیست) و =COUNTIF(B:B,A2)=0 برای مقداری از ستون A که در ستون B نیست TRUE برمیگرداند. COUNTIF به حروف بزرگ و کوچک حساس نیست و * و ? را نویسهی جایگزین میخواند، پس اگر جزو دادهاند پیش از آنها ~ بگذارید.
متن هر سند را کپی کنید و بچسبانید. قالببندی مانند پررنگ یا قلم مقایسه نمیشود، فقط واژهها و خطها.
تا 200,000 نویسه و 5,000 خط در هر طرف.
خیر. هر دو متن در همان درخواست مقایسه و بازگردانده میشوند و هرگز در پایگاه داده یا گزارش نوشته نمیشوند.
بله، اما مقایسه خط به خط است، پس JSON فشردهای که در یک خط است به شکل یک خط تغییرکرده نشان داده میشود. اول هر دو نسخه را با فرمتکننده JSON مرتب کنید (ترتیب کلیدها را حفظ میکند) تا هر کلید در خط خودش باشد و فقط تغییرهای واقعی مقدارها علامت بخورند. کد همانطور که هست بهخوبی مقایسه میشود؛ اگر فقط تورفتگی عوض شده، گزینه نادیده گرفتن فاصلههای اضافی را روشن کنید.
در Word یک سند را باز کنید و Review > Compare > Compare Documents را انتخاب کنید، سپس فایل اصلی و فایل ویرایششده را برگزینید: Word سند سومی باز میکند که هر تفاوت را به صورت تغییر ردیابیشده نشان میدهد، از جمله تغییرات قالببندی. در Google Docs یک نسخه را باز کنید و Tools > Compare documents را انتخاب کنید، سپس نسخه دیگر را برگزینید: یک سند تازه در Drive شما ساخته میشود که تفاوتها را به صورت پیشنهاد ویرایش نشان میدهد، و برای استفاده از آن دسترسی ویرایش لازم است. وقتی دو متن هر دو فایل Word یا هر دو Google Docs نیستند، مثلا بندی در یک ایمیل در برابر PDF امضاشده، از این صفحه استفاده کنید: هر طرف را جایگذاری کنید، واژههای تغییرکرده برجسته میشوند و چیزی ذخیره نمیشود.
نه. مقایسه به ترتیب خطها پیش میرود، پس خطی که جابهجا شده در جای قبلیاش حذفشده و در جای جدیدش افزودهشده نشان داده میشود و در هر شمارش یک بار حساب میشود. مثال: A, B, C در برابر B, C, A یک خط حذفشده، یک خط افزوده و 66.7% شباهت میدهد. اگر خط جابهجاشده کنار یک خط ویرایششده بیفتد، ممکن است این دو با هم جفت شوند و یک خط تغییریافته نمایش داده شوند. برای بررسی اینکه دو فهرست صرفنظر از ترتیب همان خطها را دارند، ابتدا هر دو را با مرتبسازی الف تا ی در مبدل حالت حروف مرتب کنید.
در Windows، دستور fc /n old.txt new.txt در Command Prompt بلوکهای متفاوت را با شماره خط فهرست میکند؛ برای نادیده گرفتن حروف بزرگ و کوچک /c و برای فشرده کردن فاصلهها و تبها /w را اضافه کنید. در macOS و Linux، دستور diff -u old.txt new.txt یک diff یکپارچه (unified) چاپ میکند؛ diff -i حروف بزرگ و کوچک را و diff -b تغییر در تعداد فاصلههای سفید را نادیده میگیرد. اگر Git نصب باشد، git diff --no-index old.txt new.txt روی هر سیستمی، حتی بیرون از مخزن، کار میکند و افزودن --word-diff واژههای تغییرکرده را علامت میزند. وقتی متن در فایل نیست، مثل بندی از یک ایمیل در برابر بندی از یک PDF، یا وقتی میخواهید واژههای تغییرکرده را بدون ترمینال کنار هم و برجسته ببینید، از این صفحه استفاده کنید.