المقدمة
في هذا الدليل ، سأوضح لك كيفية فرز البيانات في ملفات محددة ومن إخراج الأوامر الأخرى.
لن تفاجأ عندما تعلم أن الأمر الذي تستخدمه لتنفيذ هذه المهمة يسمى "الفرز". سيتم توفير كافة المفاتيح الرئيسية لأمر الفرز في هذه المقالة.
عينة البيانات
يمكن فرز البيانات الموجودة في ملف ما دام يتم تحديدها بطريقة ما.
على سبيل المثال ، لنأخذ جدول الدوري النهائي من الدوري الاسكتلندي الممتاز العام الماضي ونخزن البيانات في ملف يسمى "spl".
يمكنك إنشاء ملف بيانات كما يلي مع نادي واحد وبيانات هذا النادي مفصولة بفواصل على كل صف.
الفريق | الاهداف المسجلة | اهداف مباراة | نقاط |
---|---|---|---|
سلتيك | 93 | 31 | 86 |
أبردين | 62 | 48 | 71 |
قلوب | 59 | 40 | 65 |
سانت جونستون | 58 | 55 | 56 |
مذرويل | 47 | 63 | 50 |
مقاطعة روس | 55 | 61 | 48 |
إينفيرنيس | 54 | 48 | 52 |
دندي | 53 | 57 | 48 |
بارتيك | 41 | 50 | 46 |
هاميلتون | 42 | 63 | 43 |
كيلمارنوك | 41 | 64 | 36 |
دندي يونايتد | 45 | 70 | 28 |
كيفية فرز البيانات في الملفات
من هذا الجدول ، يمكنك أن ترى أن سلتيك فاز بالدوري وجاء دندي يونايتد آخر. إذا كنت من مشجعي دندي يونايتد قد ترغب في جعل نفسك تشعر بتحسن ويمكنك القيام بذلك عن طريق الفرز على الأهداف المسجلة.
للقيام بذلك ، قم بتشغيل الأمر التالي:
sort -k2 -t، spl
هذه المرة سيكون الترتيب كما يلي:
- بارتيك
- كيلمارنوك
- هاميلتون
- دندي يونايتد
- مذرويل
- دندي
- إينفيرنيس
- مقاطعة روس
- سانت جونستون
- قلوب
- أبردين
- سلتيك
السبب في النتائج في هذا الترتيب هو أن العمود 2 هو عمود الأهداف الذي تم تسجيله ويتم الانتقال من الأدنى إلى الأعلى.
يتيح لك مفتاح التبديل -k اختيار العمود للفرز حسبه ، ويسمح لك المحول -t باختيار المُحدد.
لجعل أنفسهم سعداء حقا يمكن لعشاق دندي يونايتد الفرز حسب العمود 4 باستخدام الأمر التالي:
sort -k4 -t، spl
الآن دندي يونايتد هي الأعلى وسيلتيك في القاع.
بطبيعة الحال ، فإن هذا سيجعل كل من مشجعي سيلتيك ودندي غير سعداء للغاية في الواقع. لوضع الأمور في نصابها الصحيح ، يمكنك الترتيب بالترتيب العكسي باستخدام المفتاح التالي:
sort -k4 -t، -r spl
يتيح لك التبديل الغريب نوعًا ما فرز عشوائيًا وهو ما يؤدي إلى اختصار صفوف البيانات.
يمكنك القيام بذلك باستخدام الأمر التالي:
sort -k4 -t، -R spl
قد يتسبب ذلك في حدوث مشكلات حقيقية إذا قمت بخلط -r ومفتاح -R الخاص بك.
يمكن لأمر الفرز فرز التواريخ حسب ترتيب الشهر. لإظهار نظرة على الجدول التالي:
شهر | البيانات المستخدمة |
---|---|
كانون الثاني | 4G |
شهر فبراير | 3000K |
مارس | 6000K |
أبريل | 100M |
قد | 5000M |
يونيو | 200K |
يوليو | 4000K |
أغسطس | 2500K |
سبتمبر | 3000K |
شهر اكتوبر | 1000K |
شهر نوفمبر | الجيل الثالث 3G |
ديسمبر | 2G |
يمثل الجدول أعلاه شهر السنة وكمية البيانات المستخدمة على جهاز محمول.
يمكنك فرز التواريخ أبجديًا باستخدام الأمر التالي:
sort -k1 -t ، datausedlist
يمكنك أيضًا الترتيب حسب الشهر باستخدام الأمر التالي:
sort -k1 -t، -M datausedlist
من الواضح الآن أن الجدول أعلاه يظهر بالفعل في ترتيب الشهر ولكن إذا كانت القائمة مأخوذة عشوائياً ، فإن ذلك سيكون طريقة بسيطة لفرزها.
بالنظر إلى العمود الثاني ، يمكنك رؤية أن جميع القيم موجودة بتنسيق قابل للقراءة من قبل الإنسان ولا يبدو أنه من السهل فرزه ولكن يمكن أن يقوم أمر الفرز بفرز البيانات المستخدمة في العمود باستخدام الأمر التالي:
sort -k2 -t، -h datausedlist
كيفية فرز البيانات التي تم تمريرها من أوامر أخرى
بينما يفيد فرز البيانات في الملفات ، يمكن أيضًا استخدام أمر الفرز لفرز الإخراج من أوامر أخرى:
على سبيل المثال ، انظر إلى الأمر ls:
ليرة سورية
يقوم الأمر أعلاه بإرجاع كل ملف كصف من البيانات بالحقول التالية المعروضة في الأعمدة:
- أذونات
- عدد العقدة
- اسم المستخدم
- أسم المجموعة
- بحجم
- تاريخ الوصول الأخير
- اسم الملف
يمكنك فرز القائمة حسب حجم الملف عن طريق تشغيل الأمر التالي:
ls -lt | نوع -k5
للحصول على النتائج بترتيب عكسي ، يمكنك استخدام الأمر التالي:
ls -lt | نوع -k5 -r
يمكن استخدام أمر الفرز أيضًا مع الأمر ps الذي يسرد العمليات التي تعمل على نظامك.
على سبيل المثال ، قم بتشغيل الأمر ps التالي على نظامك:
ps -eF
يعرض الأمر أعلاه الكثير من المعلومات حول العمليات التي يتم تشغيلها حاليًا على نظامك.
أحد هذه الأعمدة هو الحجم وقد ترغب في معرفة أي العمليات هي الأكبر.
لفرز هذه البيانات حسب الحجم ، يمكنك استخدام الأمر التالي:
ps -eF | نوع -k5
ملخص
لا يوجد الكثير لأمر الفرز ولكن يمكن أن يكون مفيدا بسرعة كبيرة عند فرز الإخراج من الأوامر الأخرى إلى ترتيب ذي معنى خاصة عندما لا يحتوي الأمر على مفاتيح الفرز الخاصة به.
لمزيد من المعلومات ، اقرأ الصفحات اليدوية لأمر الفرز.