وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

روش مرتب سازی در لینوکس Bash بر اساس ستون

0 17
زمان لازم برای مطالعه: 3 دقیقه


دستور مرتب سازی موجود در لینوکس به کاربران اجازه می دهد تا عملیات مرتب سازی را انجام دهند روی یک فایل یا یک ورودی دستور مرتب سازی زمانی مفید است که می خواهیم یک خروجی مرتب از یک فایل مرتب سازی صعودی، نزولی یا سفارشی تعریف شده دریافت کنیم. به طور پیش فرض، دستور sort فایل اصلی را تغییر نمی دهد مگر اینکه خروجی به فایل هدایت شود.

این مقاله روش استفاده از دستور sort برای انجام عملیات مرتب سازی را پوشش می دهد روی ستون های خاص در یک فایل

استفاده پایه

استفاده از دستور sort ساده است و در عملیات روزانه لینوکس بسیار مفید است. نحو کلی دستور به صورت زیر است:

مرتب سازی دلار [options] فایل

گزینه هایی که به فرمان منتقل می کنید روش مرتب سازی فایل و شرایط خاص مرتب سازی فایل مورد نظر را تغییر می دهد. می توانید گزینه های استفاده از پارامترهای مرتب سازی پیش فرض را حذف کنید.

به طور پیش فرض، دستور sort:

  • حروف الفبا را به ترتیب صعودی مرتب می کند.
  • حروف بعد از مقادیر عددی قرار می گیرند
  • به حروف کوچک اولویت بیشتری نسبت به حروف بزرگ می دهد.

به عنوان مثال، برای مرتب کردن یک فایل بدون گزینه:

$ مرتب سازی treks.txt

روش مرتب سازی در لینوکس Bash بر اساس ستون

هنگامی که دستور مرتب سازی را در برابر فایل اجرا می کنیم، اطلاعات را به ترتیب حروف الفبا (صعودی) مرتب می کنیم.

پیشنهاد می‌کنیم بخوانید:  دستور Bash jq

توجه داشته باشید: مقادیر عددی مانند مثال بالا اولویت دارند.

گزینه های دستور مرتب سازی

برای تغییر روش مرتب‌سازی مقادیر می‌توانید از گزینه‌های زیر به همراه دستور raw استفاده کنید.

  • -n – مرتب سازی در مقادیر عددی
  • -h – اعداد قابل خواندن برای انسان مانند 1k، 1G را مقایسه می کند
  • -R – به ترتیب تصادفی مرتب کنید اما کلیدهای یکسان را گروه بندی کنید.
  • -r – مقادیر را برعکس (به ترتیب نزولی) مرتب کنید.
  • -o – خروجی را در یک فایل ذخیره کنید
  • -c – بررسی کنید که آیا فایل ورودی مرتب شده است. اگر درست است مرتب نکنید
  • -u – فقط مقادیر منحصر به فرد را نشان می دهد.
  • -k – مرتب سازی داده ها از طریق یک کلید خاص (مفید هنگام مرتب سازی داده های ستونی).

اینها برخی از گزینه های محبوب هستند که می توانید آنها را تغییر دهید تا بهترین نتیجه را به دست آورید. برای گزینه های بیشتر، دفترچه راهنما را بررسی کنید.

روش مرتب سازی در لینوکس Bash بر اساس مقادیر عددی

روش مرتب سازی در لینوکس Bash بر اساس ستونروش مرتب سازی در لینوکس Bash بر اساس ستون

روش مرتب سازی در لینوکس Bash بر اساس ترتیب معکوس

برای مرتب کردن ورودی به ترتیب معکوس، از پرچم -r استفاده می کنیم. مثلا:

$ sort -r treks.txt

روش مرتب سازی در لینوکس Bash بر اساس ستونروش مرتب سازی در لینوکس Bash بر اساس ستون

دستور بالا به ترتیب حروف الفبای صعودی (ابتدا مقادیر عددی) و ترتیب معکوس مرتب می شود.

روش مرتب سازی در لینوکس Bash بر اساس ستون

مرتب سازی به ما اجازه می دهد تا با استفاده از گزینه -k یک فایل را بر اساس ستون مرتب کنیم. اجازه دهید با ایجاد یک فایل با بیش از یک ستون شروع کنیم. به طور مرتب، یک ستون را با یک فاصله جدا می کنیم.

پیشنهاد می‌کنیم بخوانید:  روش رد شدن از خط اول یک فایل با استفاده از «awk».

در فایل مثال زیر شش ستون داریم.

روش مرتب سازی در لینوکس Bash بر اساس ستونروش مرتب سازی در لینوکس Bash بر اساس ستون

برای مرتب‌سازی فایل کاپیتان‌ها بر اساس قرنشان، می‌توانیم -k و سپس شماره ستون را به صورت زیر مشخص کنیم:

$ sort -k 5 captains.txt

روش مرتب سازی در لینوکس Bash بر اساس ستونروش مرتب سازی در لینوکس Bash بر اساس ستون

هنگامی که ستونی را برای مرتب سازی داده ها مشخص می کنیم، دستور sort سعی می کند مقادیر را به ترتیب صعودی مرتب کند. در مثال بالا، دستور مقادیر را از قرن اولیه تا آخرین مرتبه بندی می کند.

برای مرتب سازی بر اساس نام، ستون مرتب سازی را به صورت 1 تنظیم کنید:

$ sort -k 1 captains.txt

روش مرتب سازی در لینوکس Bash بر اساس ستونروش مرتب سازی در لینوکس Bash بر اساس ستون

روش ذخیره خروجی مرتب سازی در یک فایل

برای ذخیره خروجی مرتب شده در یک فایل، می توانیم از گزینه -o به صورت زیر استفاده کنیم:

$ sort -k 5 -o captains_century captains.txt

دستور بالا فایل captains.txt را بر اساس 5 مرتب می کندهفتم ستون و نتیجه را در فایل captains_century.txt ذخیره کنید.

نتیجه

پایان این آموزش است روی دستور مرتب سازی در لینوکس ما اصول اولیه استفاده از دستور مرتب سازی را برای استفاده حداکثری از داده های مرتب شده توضیح دادیم. با خیال راحت بررسی کنید که چگونه می توانید از دستور مرتب سازی استفاده کنید.

برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-30 18:40:04

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید