في المرة الأولى التي كلفني فيها سطر مكرر وقتًا حقيقيًا، كنت أقوم بتسوية عمودين CSV من عناوين البريد الإلكتروني التي تم تصديرها لتطبيق Laravel الذي كنت أشحنه. تحتوي إحدى القوائم على 4200 صف، والأخرى تحتوي على 3900، وفي مكان ما في التداخل كانت هناك بضع مئات من العناوين التي ظهرت مرتين. يمكن لجدول البيانات إلغاء نسخها، لكنه أصر أيضًا على فرز العمود، وكنت بحاجة إلى حفظ أمر الإرسال الأصلي للطرح المرحلي. لذلك فعلت ما يفعله معظمنا في تلك المرحلة: فتحت ملفًا مؤقتًا، ولصقت القائمة، وبدأت في حذف الأسطر يدويًا. وبعد عشرين دقيقة فاتني خطتان وقدمت خطأ مطبعيًا واحدًا.
هذه هي المشكلة بالضبط مزيل الخط المكرر موجود لحل. فهو يزيل الأسطر المتكررة من كتلة نصية ويترك كل شيء آخر في مكانه بالضبط. لا يوجد فرز ولا إعادة تنسيق ولا تحميل ملف ببيانات العميل إلى خادم لا تتحكم فيه. تقوم باللصق، وتختار كيفية التعامل مع التكرارات، وتقوم بنسخ نتيجة نظيفة.
ليرة تركية؛DR: الصق قائمة، واختر الوضع، واحصل على نص غير مكرر بالترتيب الأصلي. "؛ احتفظ بالفريدة والاقتباس؛ يزيل نسخًا إضافية من كل سطر. &اقتباس؛ إزالة جميع التكرارات والاقتباس؛ يحذف كل سطر يحتوي على توأم، ولم يتبق سوى الأسطر التي كانت فريدة بالفعل. &اقتباس؛ احتفظ فقط بالنسخ المكررة والاقتباس؛ يوضح لك ما تم تكراره بالضبط. كل شيء يعمل في متصفحك، وبالتالي لا تترك القائمة جهازك أبدًا.
لماذا تصبح إزالة الخطوط المكررة معقدة؟
على السطح، "؛ إزالة الخطوط المكررة وquot؛ يبدو وكأنه عملية واحدة. من الناحية العملية، يعني ذلك ثلاثة أشياء مختلفة على الأقل اعتمادًا على ما تفعله، ومعظم الأدوات تمنحك واحدًا منها فقط.
إذا كنت تقوم بتنظيف قائمة بريدية، فأنت تريد نسخة واحدة من كل عنوان ولا تهتم بالنسخة الباقية. إذا كنت تقوم بمراجعة ملف التكوين، فقد ترغب في العثور فقط على الأسطر التي تم تكرارها عن طريق الخطأ حتى تتمكن من التحقق منها. إذا كنت تقارن بين تصديرين مدمجين، فقد ترغب في تجريد كل سطر يظهر أكثر من مرة حتى يتبقى لك الإدخالات الفريدة حقًا. هذه نتائج معاكسة من نفس الإدخال، والوصول إلى جدول بيانات '؛s "؛ إزالة التكرارات والاقتباس؛ الزر يعطيك واحدًا منهم بالضبط.
الترتيب هو التعقيد الآخر. في اللحظة التي تقوم فيها الأداة بفرز قائمتك لتسهيل عملية إلغاء البيانات المكررة، فإنها تدمر المعلومات. سطور السجل مرتبة ترتيبًا زمنيًا. غالبًا ما تحمل السجلات المصدرة تسلسلًا ضمنيًا. قائمة التشغيل، وترتيب البناء، وقائمة خطوات الترحيل: كل هذه تعني شيئًا ما بسبب الترتيب الذي هي عليه. يقوم جهاز إلغاء البيانات المكررة الذي يحافظ على النظام بعمل أكثر صرامة من العمل الذي يقوم بالفرز أولاً، لأنه يجب أن يتذكر المكان الذي ينتمي إليه كل سطر على قيد الحياة.
ما هي أوضاع الإزالة الثلاثة؟
تمنحك الأداة ثلاثة أوضاع لأن هذه هي المهام الثلاث الحقيقية. إليك ما يُرجعه كل واحد لنفس الإدخال.
| وضع | ما يحتفظ به | الاستخدام النموذجي |
|---|---|---|
| حافظ على فريدة من نوعها | نسخة واحدة من كل سطر | قم بإلغاء تكرار القائمة البريدية، وقم بترتيب قائمة الكلمات |
| إزالة كافة التكرارات | فقط الخطوط التي ظهرت مرة واحدة بالضبط | عزل الصفوف الفريدة حقًا عبر الصادرات المدمجة |
| احتفظ بالنسخ المكررة فقط | نسخة واحدة من كل سطر متكرر | تدقيق الإدخالات التي تم تكرارها عن طريق الخطأ |
خذ قائمة من تسعة أسطر: apple, Banana, cherry, apple, date, banana, cherry, apple, fig. في وضع الحفاظ على الفريد مع المطابقة الحساسة لحالة الأحرف التي تحصل عليها apple, Banana, cherry, date, banana, cherry, figلأن Banana و banana هي سلاسل مختلفة حتى تطوي الحالة. في وضع إزالة كل شيء تحصل عليه Banana, date, banana, fig، لأن هذه هي الأسطر الوحيدة التي لا تتكرر أبدًا. في وضع الاحتفاظ بالنسخ المكررة فقط تحصل عليه apple, cherry، السطرين اللذين ظهرا أكثر من مرة. نفس الإدخال، ثلاث إجابات، وتختار السؤال الذي تطرحه.
كيف تحافظ على العمل الأول مقابل الحفاظ على العمل الأخير؟
في وضع الاحتفاظ الفريد والاحتفاظ بالنسخ المكررة فقط، تبقى نسخة واحدة من كل سطر متكرر. "؛ احتفظ بالأول والاقتباس؛ و"؛ احتفظ بالأخير والاقتباس؛ التبديل يقرر أي واحد.
هذا يهم أكثر مما يبدو. لنفترض أن كل سطر عبارة عن سجل حيث تكون الإدخالات اللاحقة عبارة عن تصحيحات للإدخالات السابقة، وهو أمر شائع في سجلات الإلحاق وتدفقات الأحداث فقط. تريد الإصدار الأخير، وليس الأول. يستمر في السير في القائمة، ويجد الموضع النهائي لكل سطر مميز، ويبث السطر هناك، لذلك تظل النسخ الباقية تظهر بالترتيب الذي حدث به آخر ظهور لها. يقوم Keep-first بالعكس ويبث كل سطر في موضعه الأقدم. بالنسبة لمعظم مهام التنظيف، يكون الفرق غير مرئي لأن الأسطر المكررة متطابقة على أي حال، ولكن عندما يحمل الموضع معنى، فإن الاختيار يحفظك من عكس القائمة وإلغاء التكرار وعكسها مرة أخرى.
كيف يمكنني استخدام مزيل الخط المكرر؟
سير العمل قصير عمدا.
- الصق النص في مربع الإدخال، إدخال واحد في كل سطر. تقوم الأداة بحساب الأسطر أثناء الكتابة.
- اختر الوضع: احتفظ بالفريدة من نوعها، أو قم بإزالة جميع التكرارات، أو احتفظ بالنسخ المكررة فقط. إذا كنت في وضع يحتفظ بنسخة واحدة، فاختر ما إذا كان التكرار الأول أو الأخير موجودًا أم لا.
- اضبط خيارات المطابقة. تشغيل "؛ تجاهل الحالة والاقتباس؛ لذا
Appleوappleطي معًا، "؛ تقليم المسافات البيضاء وquot؛ بحيث تظل الخطوط ذات المسافات الضالة الأمامية أو الخلفية متطابقة، و"؛ إزالة الأسطر الفارغة وحاصل الاقتباس؛ لإسقاط الصفوف الفارغة في نفس الممر. - اقرأ الإخراج. يوضح الرأس عدد الأسطر التي تم إخراجها وعدد الأسطر التي تمت إزالتها، حتى تتمكن من التحقق من صحة النتيجة قبل نسخها بنقرة واحدة.
نظرًا لأن تحديثات الإخراج مباشرة، يمكنك التبديل بين "؛ تجاهل حالة الأحرف والاقتباس؛ تشغيل وإيقاف ومشاهدة تغيير العدد الذي تمت إزالته، وهي طريقة سريعة لمعرفة ما إذا كانت التكرارات الخاصة بك دقيقة أم أنها تختلف فقط بالأحرف الكبيرة.
لماذا تحتاج المطابقة إلى خيارات الحالة والمسافات البيضاء؟
الخطان اللذان يبدوان متطابقين معك ليسا متطابقين دائمًا مع الكمبيوتر. [email protected] و [email protected] هي نفس صندوق البريد عمليًا، لأن جزء المجال من عنوان البريد الإلكتروني غير حساس لحالة الأحرف ويتعامل معظم مقدمي الخدمة مع الجزء المحلي بهذه الطريقة أيضًا. ولكن باعتبارها سلاسل أولية فإنها تختلف، لذا فإن أداة إلغاء التكرار الدقيقة تحتفظ بكليهما. "؛ تجاهل الحالة والاقتباس؛ يطوي الخيار كلاهما إلى نموذج مشترك قبل المقارنة، لذلك يتم احتسابهما كنموذج واحد.
المسافة البيضاء هي المشاغب الصامت الآخر. عندما تقوم بنسخ صفوف من جدول أو محطة طرفية أو ملف PDF، فإنك غالبًا ما تلتقط مسافات زائدة أو علامة تبويب طائشة لا يمكنك رؤيتها. cherry و cherry هي خطوط مختلفة حتى تقطعها. تشغيل "؛ تقليم المسافات البيضاء والاقتباس؛ يجرد الفراغات المحيطة قبل المطابقة، مما يلتقط هذه الفئة بأكملها من النسخ شبه المكررة التي من شأنها أن تبقى على قيد الحياة. لا تزال المقارنة تتعامل مع التباعد الداخلي على أنه مهم، لذا New York و NewYork ابقَ متميزًا، وهو ما تريده.
وهذا أيضًا هو السبب في أن الأداة لا تقطع أو تطوي العلبة بصمت أبدًا. في بعض الأحيان تكون الكتابة بالأحرف الكبيرة أو المسافة البادئة هي النقطة المهمة، على سبيل المثال عندما تقوم بإلغاء تكرار مقتطفات التعليمات البرمجية المصدر. يتم إيقاف الخيارات افتراضيًا بحيث تقوم الأداة بما تراه بالضبط، ولا تختار المطابقة الأكثر مرونة إلا عندما تتطلب البيانات ذلك.
وكيف يختلف ذلك عن فرز القوائم أو مقارنتها؟
ال فارز الأسطر يمكنه أيضًا إزالة التكرارات، لكنه يفعل ذلك كجزء من فرز القائمة، ويحتفظ دائمًا بالحدث الأول. وهذا مثالي عندما تريد نتيجة مرتبة أبجديًا وغير مكررة. إنها أداة خاطئة عندما يكون الترتيب مقدسًا. يوجد مزيل الأسطر المكررة على وجه التحديد للحالة التي لا يجب عليك فيها الفرز.
ال قائمة المقارنة تجيب الأداة على سؤال مختلف مرة أخرى: بالنظر إلى قائمتين، ما هو موجود في كليهما، وما هو موجود في الأولى فقط، وما هو موجود في الثانية فقط. يتم تعيين الحساب عبر مدخلين. تدور إزالة السطر المكرر حول التكرار داخل إدخال واحد. إذا وجدت نفسك تلصق نفس القائمة في كلا الفتحتين من أداة المقارنة للعثور على التكرارات الداخلية، فإن أداة إلغاء التكرار هي الأداة الأكثر مباشرة.
وإذا كان ما تحتاجه هو العد وليس القائمة النظيفة، فإن عداد الكلمات يبلغ إجمالي التقارير، بينما يقوم جهاز إلغاء التكرار بالإبلاغ عن عدد الأسطر التي قام بإزالتها. الوصول إلى الخيار الصحيح يحفظ الخطوة. يعد اختيار الأداة الصحيحة لمهمة ضيقة موضوعًا يستحق الاستيعاب؛ تم توضيح الحالة الأوسع للاحتفاظ بمجموعة من الأدوات المساعدة الصغيرة المركزة في متناول اليد في هذا الدليل أدوات إنتاجية المطور.
هل تظل البيانات خاصة؟
نعم، وهذا ليس خط تسويق. يتم تشغيل العملية بأكملها في JavaScript داخل علامة تبويب المتصفح الخاص بك. لا توجد خطوة تحميل، ولا استدعاء API، ولا معالجة من جانب الخادم. عند لصق قائمة برسائل البريد الإلكتروني للعملاء، أو أسماء المضيفين الداخلية، أو مفاتيح الترخيص، تتم معالجة هذا النص في الذاكرة على جهازك ويتم التخلص منه عند إغلاق علامة التبويب. يمكنك تأكيد ذلك عن طريق فتح لوحة الشبكة الخاصة بالمتصفح '؛ ومشاهدتها وهي تظل صامتة أثناء العمل، أو عن طريق قطع الاتصال بالإنترنت بعد تحميل الصفحة ورؤية الأداة تستمر في العمل.
بالنسبة لأي شخص يتعامل مع بيانات منظمة أو حساسة، فإن هذه الخاصية هي السبب الرئيسي لتفضيل أداة من جانب العميل على أداة مستضافة. إن أداة إلغاء البيانات المكررة المريحة عبر الإنترنت التي تنشر قائمتك بهدوء على الواجهة الخلفية هي قرار معالجة البيانات الذي لم تتخذه بوعي. إن المفاضلات بين الأدوات المساعدة المستندة إلى المتصفح والأدوات المساعدة المستندة إلى الخادم تستحق الفهم بالكامل، وهذه النظرة العامة على خصوصية البيانات باستخدام الأدوات عبر الإنترنت يغطي أين توجد المخاطر الحقيقية.
ما هي الحدود العملية؟
نظرًا لأن العمل يحدث في الذاكرة، فإن السقف هو علامة تبويب المتصفح الخاصة بك وليس حد التحميل. من الناحية العملية، يمكنك لصق عشرات الآلاف من الأسطر والحصول على نتيجة فورية. لا تزال القوائم الموجودة في مئات الآلاف من الأسطر تعمل ولكنها ستبدأ في الشعور بضغط الذاكرة الناتج عن الضغط على هياكل الإدخال والإخراج والبحث مرة واحدة، وهو حد لمستوى علامة التبويب، وليس مستوى الأداة. لتنظيف ملف ضخم حقًا لمرة واحدة، قم بتمرير سطر أوامر بشيء من هذا القبيل awk '!seen[$0]++' هي الأداة الأفضل؛ بالنسبة للقائمة اليومية الموجودة في الحافظة الخاصة بك، يكون الوصول إلى أداة المتصفح أسرع.
تقوم الأداة بمقارنة الأسطر بأكملها، وليس السلاسل الفرعية أو الحقول. إذا كانت التكرارات الخاصة بك هي "؛ نفس السجل ولكن مع عمود طابع زمني مختلف، "؛ الخطوط ليست متطابقة والأداة تعاملها بشكل صحيح على أنها متميزة. في هذه الحالة، عليك أولاً تجريد العمود المتغير، ثم إلغاء التكرار. إن معرفة أن المقارنة عبارة عن سطر كامل هو ما يتيح لك التنبؤ بالنتيجة في كل مرة.
متى يجب أن أصل إلى هذه الأداة؟
الإجابة الصادقة هي: في أي وقت يكون لديك قائمة في الحافظة الخاصة بك تحتوي على التكرارات التي تريدها، تختفي ويتم الاحتفاظ بالطلب الذي تريد الاحتفاظ به. القوائم البريدية وتصدير البريد الإلكتروني هي الحالة الواضحة. يعد تنظيف مجموعة الكلمات الرئيسية قبل استيرادها إلى أداة تحسين محركات البحث أمرًا آخر، خاصة مقترنًا بـ محول الحالة عندما خلط المصدر الأحرف الكبيرة. إلغاء تكرار أسطر السجل للعثور على رسائل خطأ مميزة، وترتيب قائمة التبعيات، وانهيار عمود من العلامات الملصقة: هذه كلها مهام مدتها خمس ثوانٍ كانت في السابق مهام مدتها خمس دقائق.
النمط الذي يربطهم معًا هو أن البيانات عبارة عن نص، والتكرارات دقيقة أو تقريبًا، والتسلسل مهم. عندما يكون التحرير اليدوي بطيئًا وعرضة للخطأ، فإن جدول البيانات يدمر الترتيب، ويكون جهاز إلغاء البيانات المكررة من جانب العميل هو الحجم المناسب تمامًا للأداة.
ما هي الأخطاء الشائعة عند إلغاء تكرار القائمة؟
الخطأ الذي أراه في أغلب الأحيان هو إلغاء التكرار قبل التنظيف، في حين أنه يجب أن يكون العكس. إذا كانت قائمتك تحتوي على مسافات زائدة أو أحرف كبيرة مختلطة، فإن تمريرة المطابقة التامة تترك نسخًا شبه مكررة خلفك وتختتم الأداة "؛ فاتتك بعض.&اقتباس؛ لم يحدث ذلك؛ لقد طلبت منه أن يتطابق تمامًا وكانت الخطوط مختلفة حقًا. قم بتشغيل القطع وتجاهل الحالة أولاً، ثم قم بإلغاء التكرار، وعادةً ما يقفز عدد الخطوط التي تمت إزالتها بطريقة تتطابق أخيرًا مع حدسك. تقوم الأداة بتشغيل كلتا الخطوتين في تمريرة واحدة بالترتيب الصحيح، لذا فإن تمكين الخيارات هو كل ما تحتاجه.
الخطأ الثاني هو استخدام الوضع الخاطئ للسؤال. "؛ أريد العثور على التكرارات والاقتباس؛ و &اقتباس؛ أريد إزالة التكرارات والاقتباس؛ تبدو متشابهة ولكن استدعاء أوضاع معاكسة. إذا قمت بالتبديل إلى وضع إزالة كل شيء متوقعًا رؤية ما تم تكراره، فستحصل على العكس تمامًا: الأسطر التي كانت فريدة. اقرأ تسميات الوضع كالجملة التي أكملتها. احتفظ بجميع التكرارات يعني حذف أي شيء باستخدام توأم. احتفظ بالنسخ المكررة فقط يعني أرني التوأم.
والثالث هو نسيان أن المقارنة عبارة عن سطر كامل. السجلان اللذان يختلفان فقط في الطابع الزمني أو عمود المعرف ليسا مكررين فيما يتعلق بالأداة، لأن الأسطر ليست متطابقة. عندما "؛ مكررة واقتباس؛ أنت تهتم بمجموعة فرعية من السطر، وتجرد الجزء المتغير أولاً، ثم تتخلص من النتيجة. إن الوضوح بشأن ما يمكن اعتباره تطابقًا هو ما يجعل الإخراج قابلاً للتنبؤ به، ويمكن التنبؤ به هو الهدف الأساسي للأداة الصغيرة: يجب أن تكون قادرًا على النظر إلى مدخلاتك وإعداداتك ومعرفة ما سيخرج بالضبط قبل النقر.
أسئلة وأجوبة
كيف يمكنني إزالة الأسطر المكررة من النص؟
الصق النص الخاص بك في مزيل الأسطر المكررة بإدخال واحد لكل سطر واحتفظ بالوضع الفريد الافتراضي. تحتفظ الأداة بالنسخة الأولى من كل سطر وتزيل الباقي على الفور، ثم يمكنك نسخ النتيجة التي تم تنظيفها.
هل يحافظ على الترتيب الأصلي للخطوط؟
نعم. على عكس نهج الفرز والتفكيك، تقوم هذه الأداة بإزالة التكرارات في مكانها وتترك الأسطر الباقية بترتيبها الأصلي. وهذا مهم بالنسبة للسجلات والصادرات وأي قائمة يكون للتسلسل فيها معنى.
هل يمكنني الاحتفاظ فقط بالسطور التي تم تكرارها؟
نعم. قم بالتبديل إلى وضع الاحتفاظ بالنسخ المكررة فقط وتقوم الأداة بإرجاع نسخة واحدة من كل سطر ظهر مرتين أو أكثر، حتى تتمكن من معرفة الإدخالات التي تم تكرارها بالضبط.
ما الفرق بين الأوضاع الثلاثة؟
فريد يحتفظ بنسخة واحدة من كل سطر. إزالة الكل يحذف كل سطر يحتوي على أي نسخ مكررة، ولم يتبق سوى الأسطر التي كانت فريدة بالفعل. تقوم نسخ الاحتفاظ فقط بإرجاع الأسطر التي تم تكرارها، نسخة واحدة لكل منها.
كيف أتجاهل الحالة عند العثور على التكرارات؟
قم بتشغيل خيار حالة التجاهل. مع تمكينه، الخطوط التي تختلف فقط في الكتابة بالأحرف الكبيرة، مثل "؛ Apple"؛ و"؛apple"؛، يتم التعامل معها على أنها نفس السطر وتنهار في سطر واحد.
لماذا لا يتم التعامل مع السطرين اللذين يبدوان متماثلين على أنهما مكرران؟
افتراضيًا، تكون المقارنة دقيقة، لذا فإن المسافات الزائدة أو الأحرف الكبيرة المختلفة تجعل سطرين متميزين. قم بتشغيل القطع لتجريد المسافات البيضاء المحيطة وتجاهل حالة الأحرف لطي الأحرف الكبيرة قبل المطابقة.
هل يمكنه إزالة الخطوط الفارغة أيضًا؟
نعم. قم بتمكين خيار إزالة الأسطر الفارغة ويتم إسقاط جميع الأسطر الفارغة في نفس المسار، قبل مطابقة التكرارات، وبالتالي لا تحتوي الإخراج على فجوات متبقية.
هل من الآمن تنظيف القوائم الحساسة هنا؟
نعم. تتم جميع عمليات المعالجة بالكامل في متصفحك باستخدام JavaScript. لا يتم تحميل النص أو تخزينه مطلقًا، وتستمر الأداة في العمل دون أي اتصال بالشبكة بمجرد تحميل الصفحة.



