UltKit

مقارنة النصوص

الصق النص الأصلي على اليسار والنسخة الجديدة على اليمين. تظهر الأسطر المحذوفة باللون الأحمر والأسطر المضافة باللون الأخضر، وداخل السطر المعدّل تُميَّز الكلمات التي تغيّرت فعلًا، فيسهل رصد تغيير كلمة واحدة في فقرة طويلة.

0 حرفًا · 0 كلمة · 0 سطرًا

0 حرفًا · 0 كلمة · 0 سطرًا

الصق نصًا في المربعين لعرض الاختلافات هنا.

0 حرفًا · 0 كلمة · 0 سطرًا

الأسطر الحمراء (−) موجودة في الأصل فقط، والخضراء (+) في النص المعدَّل فقط؛ والخط العريض يشير إلى الكلمات المختلفة. يعمل بالكامل داخل علامة تبويب المتصفح هذه. لا يُرفع نصك ولا يُخزَّن أبدًا.

ماذا تفعل

مقارنة النصوص تقارن نصين سطرًا بسطر بخوارزمية أطول تتابع فرعي مشترك، وتعلّم الأسطر المحذوفة بالأحمر والمضافة بالأخضر، وتميّز الكلمات التي تغيّرت داخل السطر المعدَّل.

قبل
the quick brown fox
→ the quick red fox
بعد
- the quick brown fox
+ the quick red fox

كيف تعمل المقارنة

تقسم الأداة النصين إلى أسطر ثم تبحث عن أطول متتالية مشتركة بينهما، أي أكبر مجموعة من الأسطر التي تظهر في النصين بالترتيب نفسه. تُعرض هذه الأسطر على أنها دون تغيير، وكل ما عداها في النص الأصلي يُعد حذفًا، وكل ما عداها في النص الجديد يُعد إضافة. هذه هي الفكرة نفسها التي يقوم عليها برنامج diff الكلاسيكي في Unix الذي وصفه Hunt وMcIlroy عام 1976، وتقوم عليها شاشات عرض التغييرات في أنظمة التحكم في الإصدارات.

عندما تأتي مجموعة من الأسطر المحذوفة مباشرة قبل مجموعة من الأسطر المضافة، فهي في الغالب الأسطر نفسها بعد تعديلها. تقرن الأداة بينها وتجري مقارنة ثانية على مستوى الكلمات داخل كل زوج، فترى أن "الثلاثاء" أصبحت "الأربعاء" دون الحاجة إلى إعادة قراءة السطرين. تظهر أرقام الأسطر للنسختين على اليسار لتسهل عليك إيجاد كل تغيير في ملفاتك.

تجاهل الفروق غير المهمة: حالة الأحرف والمسافات

قد يختلف النصان بطرق لا تهمك: سطر أُزيحت بدايته بعلامات جدولة بدل المسافات، أو مسافات زائدة في نهاية السطر تركها المحرر، أو عنوان تغيّرت حروفه من الكبيرة إلى الصغيرة. خيار تجاهل اختلافات المسافات البيضاء يعامل أي تتابع من المسافات وعلامات الجدولة على أنه مسافة واحدة ويتجاهل المسافات في نهايات الأسطر، أما تجاهل حالة الأحرف فيقارن الأسطر دون اعتبار لحالة الأحرف. ويظل الناتج المظلل يعرض النص الجديد كما كُتب.

وفيما عدا ذلك تكون المقارنة دقيقة: فالفاصلة العليا المنحنية والمستقيمة حرفان مختلفان، وكذلك الواصلة والشرطة الطويلة. وإذا وُسم سطر بأنه مختلف رغم أنه يبدو مطابقًا، فالسبب المعتاد هو علامة ترقيم طباعية أو مسافة غير قابلة للكسر.

استخدامات شائعة

يقارن الكتّاب المسودات التي يعيدها المحرر، ويتحقق المحامون والمشترون من البنود التي تغيّر موضعها في نسخة جديدة من العقد، ويقارن المطورون ملفات الإعدادات أو مخرجات السجلات من تشغيلين، ويتحقق الطلاب مما غيّرته خطوة إعادة الصياغة فعلًا. يمكن نسخ النتيجة أو تنزيلها كنص عادي بنمط unified diff، مع علامة ناقص قبل الأسطر المحذوفة وعلامة زائد قبل الأسطر المضافة. ولمهام التنظيف الأخرى، تعمل بقية أدوات النصوص بالطريقة نفسها، بالكامل داخل متصفحك.

الأسئلة الشائعة

هل يُرفع النص الذي أقارنه إلى أي مكان؟
لا. يبقى النصان داخل علامة تبويب المتصفح هذه، وتُحسب المقارنة بواسطة JavaScript على جهازك، لذلك يمكنك مقارنة المسودات والعقود السرية بأمان.
لماذا تظهر الفقرة المنقولة على أنها محذوفة ومضافة؟
لا تحتفظ المقارنة على مستوى الأسطر إلا بالأسطر التي تبقى في الترتيب النسبي نفسه. وعند نقل كتلة، تُبقي الخوارزمية أحد الموضعين وتعرض الآخر حذفًا مع إضافة، كما يفعل git diff.
ما أقصى حجم للنصوص؟
تتم مقارنة عدة آلاف من الأسطر لكل نص فورًا. تُتخطى الأسطر المتطابقة في البداية والنهاية قبل المقارنة الرئيسية، وإذا كان الجزء الأوسط المتبقي ضخمًا جدًا، تطلب منك الأداة تقسيم النص بدل أن تتجمد علامة التبويب.
هل يمكنني مقارنة ملفات Word أو PDF مباشرة؟
الصق نصها. النسخ من Word يحافظ على الفقرات كأسطر، أما النص المنسوخ من PDF فغالبًا يحتوي على فواصل أسطر ثابتة، ويمكنك إزالتها أولًا بأداة إزالة فواصل الأسطر.
ماذا تعني علامتا الطرح والجمع في الملف الذي أنزّله؟
السطر الذي يبدأ بعلامة ناقص موجود في النص الأصلي فقط، والسطر الذي يبدأ بعلامة زائد موجود في النص المعدّل فقط، والأسطر التي تبدأ بمسافتين لم تتغير.