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