استخدامات أمر ترتيب اللينكس

يجب فصل العناصر المطلوب فرزها بطريقة ما

يمكن فرز البيانات في ملف نصي Linux باستخدام أمر الفرز طالما أن كل عنصر محدد بطريقة ما. بشكل متكرر ، يتم استخدام الفاصلة كفاصل للحصول على معلومات محددة.

القواعد الأساسية للفرز

يقوم أمر الفرز بإعادة ترتيب الخطوط في ملف نصي لفرزها رقميًا وحسب الترتيب الأبجدي. القواعد الافتراضية لأمر الفرز هي:

فرز ملف نصي

من أجل فرز الأسطر في ملف Linux محدد ، يمكنك استخدام أمر الفرز كما يلي:

$ sort -k2 test.txt

الذي يفرز الملف "test.txt" استناداً إلى الأحرف التي تبدأ في العمود الثاني (يشير k2 إلى العمود الثاني). بافتراض أن محتوى ملف الإدخال هو:

1، جوستين تيمبرليك، العنوان 545، السعر $ 7.30 2، Taylor Swift، Title 723، السعر $ 7.90 3، Mick Jagger، Title 610، السعر $ 7.90 4، Lady Gaga، العنوان 118، السعر $ 7.30 5، Johnny Cash، Title 482، السعر $ 6.50 6، Elvis Presley، Title 335، Price $ 7.30 7، John Lennon، Title 271، Price $ 7.90 8، Michael Jackson، Title 373، Price $ 5.50

نظرًا لأن العمود الثاني في هذا المثال يحتوي على الأسماء الأولى والأخيرة ، يتم ترتيب الإخراج الذي تم فرزه بالحرف الأول من الاسم الأول لكل فرد في العمود الثاني - Elvis و John و Johnny و Justin و Lady و Michael و Mick و Taylor. ، كما هو مبين أدناه:

6، Elvis Presley، Title 335، Price $ 6.30 7، John Lennon، Title 271، Price $ 7.90 5، Johnny Cash، Title 482، Price $ 6.50 1، Justin Timberlake، Title 545، Price $ 6.30 4، Lady Gaga، Title 118، Price $ 6.30 8، Michael Jackson، Title 373، Price $ 5.50 3، Mick Jagger، Title 610، Price $ 7.90 2، Taylor Swift، Title 723، Price $ 7.90

إذا قمت بفرز الملف بـ -k3 (باستخدام محتويات السطر التي تبدأ في العمود 3 - عمود رقم العنوان) ، فسيكون الناتج:

4، Lady Gaga، Title 118، Price $ 6.30 7، John Lennon، Title 271، Price $ 7.90 6، Elvis Presley، Title 335، Price $ 6.30 8، Michael Jackson، Title 373، Price $ 5.50 5، Johnny Cash، Title 482، Price $ 6.50 1، جوستين تيمبرليك، العنوان 545، السعر $ 6.30 3، ميك جاغر، العنوان 610، السعر $ 7.90 2، تايلور سويفت، العنوان 723، السعر $ 7.90

و

$ sort -k4 test.txt

ينتج قائمة تم فرزها حسب السعر:

8، Michael Jackson، Title 373، Price $ 5.50 1، Justin Timberlake، Title 545، Price $ 6.30 4، Lady Gaga، Title 118، Price $ 6.30 6، Elvis Presley، Title 335، Price $ 6.30 5، Johnny Cash، Title 482، Price $ 6.50 2، Taylor Swift، Title 723، Price $ 7.90 3، Mick Jagger، Title 610، Price $ 7.90 7، John Lennon، Title 271، Price $ 7.90

عكس التصنيف

الخيار -r يعكس الفرز. على سبيل المثال ، استخدام النتائج أعلاه:

$ sort -k4 -r test.txt

عائدات:

7، John Lennon، Title 271، Price $ 7.90 3، Mick Jagger، Title 610، Price $ 7.90 2، Taylor Swift، Title 723، Price $ 7.90 5، Johnny Cash، Title 482، Price $ 6.50 6، Elvis Presley، Title 335، Price $ 6.30 4، Lady Gaga، Title 118، Price $ 6.30 1، Justin Timberlake، Title 545، Price $ 6.30 8، Michael Jackson، Title 373، Price $ 5.50

حفظ ملف فرز

لا يؤدي فرز الملف إلى حفظه. لحفظ القائمة التي تم فرزها في ملف ، تستخدم عامل إعادة التوجيه:

sort -k4 -r test.txt> test_new.txt

حيث "test_new.txt" هو الملف الجديد.

فرز مخرجات الدفق

يمكنك أيضًا تطبيق أمر الفرز على إخراج الدفق ، مثل مشغل الأنبوب:

$ ls -al | sort -r -n -k5

يقوم هذا بفرز إخراج قائمة الملفات التي تم إنشاؤها بواسطة الأمر ls حسب حجم الملف ، بدءًا من أكبر الملفات. يحدد عامل التشغيل -n الفرز الرقمي بدلاً من الأبجدية.