UltKit

حذف الأسطر المكررة

الصق قائمة، فيُحذف كل سطر مكرر بعد ظهوره الأول، وتحتفظ الأسطر المتبقية بترتيبها الأصلي. يمكن أن تتجاهل المطابقة حالة الأحرف والمسافات الزائدة، ويجري كل ذلك في متصفحك.

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

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

يعمل بالكامل داخل علامة تبويب المتصفح هذه. لا يُرفع نصك ولا يُخزَّن أبدًا.

ماذا تفعل

حذف الأسطر المكررة تحتفظ بأول ظهور لكل سطر وتحذف التكرارات اللاحقة دون المساس بالترتيب الأصلي. يمكن للمطابقة تجاهل حالة الأحرف والمسافات المحيطة، ويمكن إبقاء الأسطر الفارغة أو حذفها.

قبل
red
blue
Red
green
بعد
red
blue
green

من يحذف التكرار من القوائم ولماذا

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

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

كيف تعمل المطابقة، والفروق غير المرئية

يُختزل كل سطر إلى مفتاح مقارنة ويُخزَّن في مجموعة أثناء قراءة القائمة من الأعلى إلى الأسفل؛ والسطر الذي يكون مفتاحه موجودًا في المجموعة هو سطر مكرر. يتم ذلك في مرور واحد، لذا تُعالج القوائم التي تضم مئات الآلاف من الأسطر بسرعة. وهذا يختلف أيضًا عن الأمر الكلاسيكي uniq في يونكس، الذي يزيل التكرارات المتجاورة فقط، ولذلك يُشغَّل عادةً بعد sort فيضيع الترتيب الأصلي. أما تعبير awk الشائع awk '!seen[$0]++' فيؤدي ما تؤديه هذه الأداة.

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

بعد التنظيف

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

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

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