دستور sort در لینوکس | مرتبسازی خطوط فایلهای متنی
دستور sort محتویات فایل های متنی را به صورت الفبایی یا عددی به ترتیب صعودی یا نزولی مرتب میکند.این دستور برای خواندن فایل های متنی بزرگ میتواند به ما کمک کند
به طور پیشفرض دستور sort محتویات فایل را تغییر نمیدهد و فقط متن ها را به ترتیبی که از طریق گزینه های دستور مشخص میکنیم مرتب و در خروجی به ما نمایش میدهد.
در این مقاله مثال های متعدد و کاربردی به صورت عملی از دستور sort برایتان قرار میدهیم تا با نحوه کار با این دستور بیشتر آشنا شوید.
سینتکس دستور sort
قاعده دستور sort به شکل زیر است:
sort [options] filenameاجرای دستور sort بدون [options] محتویات فایل را با قوانین مرتبسازی پیشفرض نمایش میدهد.
قوانین اصلی عبارتند از:
- خطوطی که با عدد شروع میشوند، قبل از خطوطی که با حرف شروع میشوند، قرار میگیرند و به ترتیب صعودی (1-10) مرتب میشوند.
- خطوطی که با حروف شروع میشوند به ترتیب حروف الفبا صعودی (A-Z) مرتب میشوند.
به عنوان مثال، در فایل زیر چندین خط تصادفی وجود دارد که برخی با عدد و برخی با حروف شروع شده اند:

جهت نمایش محتویات فایل به صورت مرتب با قوانین پیشفرض دستور sort از دستور زیر استفاده میکنیم:
sort hello.txt
مثال بالا نشان میدهد که چگونه دستور sort با قوانین پیشفرض خود، خطوط را مرتب میکند، زمانی که هیچ گزینهای مشخص نشده باشد. در ادامه به بررسی گزینه های در دسترس دستور sort به همراه مثال های عملی خواهیم پرداخت.
با ما همراه باشید.
مثال های دستور sort
مثال۱: ذخیره خروجی در یک فایل
دستور sort فقط محتویات یک فایل را مرتبسازی و نمایش میدهد، اما تغییری در فایل ایجاد نمیکند. با این حال، گزینه -o به شما این امکان را میدهد خروجی دستور sort را در یک فایل ذخیره کنید.
برای مثال، دستور زیر دادههای موجود در فایل hello.txt را مرتب کرده و خروجی را در فایل sorted.txt ذخیره میکند:
sort -o sorted.txt hello.txtراه دیگر برای ذخیره خروجی دستور sort، تغییر مسیر خروجی به یک فایل است:
sort hello.txt > sorted.txtمثال۲: حذف ورودی های تکراری
از طریق گزینه -u میتوانید کلمات تکراری را در خروجی حذف نمایید. به عنوان مثال فایل زیر چند کلمه تکراری دارد:

حال به کمک گزینه -u محتویات فایل را مرتب و کلمات تکراری را در خروجی حذف میکنیم:
