🔧Toolify

أداة مقارنة النصوص (مقارنة على مستوى السطر، مرمزة بالألوان)

الصق نسخة أصلية ومنقحة لرؤية مقارنة جنباً إلى جنب على مستوى السطر. مفيدة للمستندات وملفات التكوين ومراجعة الكود وتحرير النثر.

الصق كلا الإصدارين لرؤية المقارنة.

كيف تعمل

كيف يتم حساب المقارنة

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

LCS هي النهج القياسي المستخدم بواسطة git ومعظم أدوات diff. تختار أطول تسلسل مطابق ممكن، والذي عادةً ما يتطابق مع ما يسميه الإنسان 'نفس الفقرة'. للمدخلات الكبيرة جداً (10,000+ سطر) ينمو وقت التشغيل بشكل تربيعي؛ إذا كنت بحاجة لمقارنة سجلات كبيرة، استخدم أداة diff تدفقية بدلاً من ذلك.

لما هذا جيد

مراجعات المستندات: شاهد بالضبط ما تغير بين المسودات. مفيد للعقود القانونية وشروط الخدمة وأي نص حيث 'ما الذي تغير؟' مهم.

ملفات التكوين: قارن بين ملفي .env أو YAML لاكتشاف خطأ في التكوين. أو إصدارين من سكريبت النشر.

تحرير النثر: يمكن للكتاب رؤية مراجعات المحرر في السياق، خاصة عندما تتغير أسطر قليلة فقط.

مراجعة الكود (استخدام خفيف): للمقاطع الصغيرة. لمراجعة كود حقيقية، استخدم أداة تفهم بناء الجملة — git diff مع علامات دلالية أو أداة مراجعة مخصصة ستعطي نتائج أفضل.

القيود

نقارن على مستوى السطر. إذا غيرت 'cat' إلى 'cats' في سطر، فإن السطر كاملاً يظهر كمحذوف-ومضاف؛ لا نُبرز الـ 's' المُدرج. مقارنات على مستوى الكلمة والحرف مفيدة لذلك، لكنها أصعب في القراءة على الأسطر الطويلة.

المسافة البيضاء اللاحقة مهمة — 'foo' و 'foo ' (مسافة لاحقة) يُحسبان كسطرين مختلفين. إذا كنت تريد مقارنة غير حساسة للمسافات البيضاء، طبّع النص قبل اللصق.

الترتيب يهم. فقرتان في مواقع مختلفة يُحسبان كمحذوفتين ومضافتين. المقارنة لا تحاول اكتشاف الكتل 'المنقولة'.

أسئلة شائعة

هل يدعم هذا مقارنة على مستوى الكلمة؟

ليس بعد — فقط على مستوى السطر. قد نضيف دقة الحرف أو الكلمة لاحقاً للمقارنات القصيرة.

كم يمكن أن يكون نصي كبيراً؟

عملياً حتى بضعة آلاف سطر لكل جانب. التعقيد التربيعي يعني أن المدخلات الكبيرة جداً قد تجمد علامة تبويب المتصفح لفترة قصيرة.

هل تغادر البيانات متصفحي؟

لا. تشغيل diff يحدث محلياً بالكامل.

هل المسافات اللاحقة مهمة؟

نعم. سطران يختلفان فقط بمسافة لاحقة يُحسبان كمختلفين. طبّع المسافة البيضاء قبل اللصق إذا كنت تريد مطابقة غير حساسة للمسافات.

هل يمكنني حفظ المقارنة؟

ليس كملف محفوظ. انسخ-الصق النص المعروض أو خذ لقطة شاشة في الوقت الحالي.

هل هذه نفس خوارزمية git diff؟

نعم من حيث المفهوم — نستخدم LCS، وهي إحدى خيارات git. Git يفترض خوارزمية مشابهة لكن أكثر تطوراً (Myers diff مع Patience كخيار). الإخراج للمدخلات القصيرة متطابق في الأساس.

لماذا الأسطر بأكملها مميزة عندما تتغير كلمة واحدة فقط؟

لأننا نعمل على مستوى السطر. مقارنة على مستوى الحرف ستبرز الكلمة المتغيرة، لكنها أصعب في القراءة على الأسطر الطويلة.

هل يمكنني مقارنة أكثر من نسختين؟

ليس في هذه الأداة. لدمج متعدد الاتجاهات، استخدم أداة diff ثلاثية الاتجاهات مخصصة.

أدوات ذات صلة

آخر تحديث:

جرّب مطالباتنا للذكاء الاصطناعي ←