فريد
مقارنة sortأطلقت حملة فريد البرنامج خفيف الوزن. فريد يؤدي مهمة تبدو تافهة. عند إعطائه ملفًا تم فرزهًا (أو إدخالًا قياسيًا) ، فإنه يزيل أي سطور مكررة ويرسل النتائج إلى الإخراج القياسي. غالبًا ما يتم استخدامه جنبًا إلى جنب مع sort لتنظيف إخراج التكرارات.
تلميح: بينما فريد هي أداة تقليدية من أدوات Unix تُستخدم غالبًا مع ملفات sort، إصدار جنو من sort يدعم أ -u الخيار ، الذي يزيل التكرارات من الإخراج الفرز.
دعنا نصنع ملفًا نصيًا لتجربة ذلك:
[me @ linuxbox ~] $ قطة> foo.txt أ
bcabc
[me @ linuxbox ~] $ قطة> foo.txt أ
bcabc
تذكر أن تكتب السيطرة- د لإنهاء الإدخال القياسي. الآن ، إذا ركضنا فريد في ملفنا النصي:
[me @ linuxbox ~] $ فريد foo.txt
abcabc
[me @ linuxbox ~] $ فريد foo.txt
abcabc
النتائج لا تختلف عن ملفنا الأصلي ؛ لم تتم إزالة التكرارات. ل
uniq للقيام بعملها ، يجب فرز الإدخال أولاً:
[me @ linuxbox ~] $ فرز foo.txt | فريد
اي بي سي
[me @ linuxbox ~] $ فرز foo.txt | فريد
اي بي سي
هذا بسبب فريد يزيل فقط الأسطر المكررة المجاورة لبعضها البعض.
uniq لديها عدة خيارات. فيما يلي الأشياء الشائعة:
الجدول 20-2: الخيارات الفريدة الشائعة
وصف الخيار
وصف الخيار
-c قم بإخراج قائمة من الأسطر المكررة مسبوقة بعدد مرات حدوث السطر.
-د إخراج سطور متكررة فقط ، بدلاً من خطوط فريدة.
-f n تجاهل n المجالات الرائدة في كل سطر. الحقول مفصولة بمسافة بيضاء كما هي sort؛ ومع ذلك ، على عكس sort, فريد ليس لديه خيار لتعيين فاصل مجال بديل.
-i تجاهل الحالة أثناء مقارنات الخط.
-s n تخطي (تجاهل) بادئة n شخصيات كل سطر.
-u إخراج خطوط فريدة فقط. يتم تجاهل الأسطر ذات التكرارات.
هنا نرى فريد تُستخدم للإبلاغ عن عدد التكرارات الموجودة في ملفنا النصي ، باستخدام امتداد -c الخيار:
[me @ linuxbox ~] $ فرز foo.txt | uniq -c
2 لل
2 ب
2 ج
[me @ linuxbox ~] $ فرز foo.txt | uniq -c
2 لل
2 ب
2 ج