داعيا UNIQ وترتيبات الفرز مختلفة في في قذيفة
-
05-07-2019 - |
سؤال
وهناك اختلاف في ترتيب UNIQ والفرز عند دعوتهم في شيل؟ أنا أتحدث هنا عن زمنيا والحكمة الفضاء.
grep 'somePattern' | uniq | sort
ومقابل.
grep 'somePattern' | sort | uniq
اختبار سريع على 140 ك خطوط نصيا أظهرت تحسنا سرعة طفيفة (5.5 ق مقابل 5.0 ق) للأسلوب الأول (الحصول على قيم UNIQ ثم الفرز)
وأنا لا أعرف كيفية قياس استخدام الذاكرة على الرغم
والسؤال الآن هو: هل الأمر فرقا؟ أم أنها تعتمد على greplines عاد (كثير من / بعض التكرارات)
وأنا أتطلع إلى إجاباتك
المحلول
والوحيد <م> صحيحة م> النظام هو استدعاء uniq
بعد sort
، منذ الصفحة رجل لuniq
تقول:
وتجاهل لكن كل واحد من خطوط مماثلة المتعاقبة من INPUT (أو الإدخال القياسي)، والكتابة إلى الإخراج (أو الإخراج القياسي).
اقتباس فقرة>وولذلك يجب أن يكون
grep 'somePattern' | sort | uniq
نصائح أخرى
وأعتقد أن sort -u
هي مناسبة لهذا السيناريو بالضبط، وسوف كلا النوع وuniquify الأشياء. من الواضح، والتي سوف تكون أكثر كفاءة من استدعاء sort
وuniq
بشكل فردي في أي ترتيب.
وUNIQ يعتمد على العناصر التي تم فرزها لإزالة التكرارات (لأنه يقارن البند السابق والحالي)، وبالتالي لماذا نوع تشغيل دائما قبل UNIQ. انها محاولة ونرى.