# مرتبسازی فایلها در لینوکس با استفاده از دستور `sort`
### آشنایی با دستور `sort` برای مرتبسازی دادههای متنی به روشهای مختلف
دستور `sort` یکی از ابزارهای بسیار کاربردی در لینوکس است که برای **مرتبسازی خطوط فایلها یا خروجی دستورات دیگر** استفاده میشود. این دستور قابلیت مرتبسازی عددی، الفبایی، معکوس و حتی بر اساس ستون خاص را دارد.
---
## 📄 مرتبسازی ساده فایل متنی
```bash
sort file.txt
```
> خطوط فایل را به ترتیب الفبایی مرتب میکند و روی صفحه نمایش میدهد.
---
## ✏️ ذخیره خروجی مرتبشده در فایل جدید
```bash
sort file.txt > sorted.txt
```
---
## 🔁 مرتبسازی معکوس (برعکس)
```bash
sort -r file.txt
```
> خطوط را از آخر به اول نمایش میدهد (معکوس الفبایی یا عددی).
---
## 🔢 مرتبسازی عددی (برای اعداد در خطوط)
```bash
sort -n numbers.txt
```
> اگر خطوط فایل شامل اعداد هستند، این دستور آنها را به ترتیب عددی مرتب میکند (مثلاً 2، 10، 100).
---
## 🔡 بیتفاوت به بزرگی یا کوچکی حروف
```bash
sort -f file.txt
```
> این دستور حروف بزرگ و کوچک را معادل در نظر میگیرد (مثلاً A و a را یکسان میبیند).
---
## 📊 مرتبسازی بر اساس ستون خاص (مثلاً ستون دوم)
فرض کن فایل شما این شکله:
```
apple 3
banana 1
orange 2
```
برای مرتبسازی بر اساس ستون دوم:
```bash
sort -k 2 file.txt
```
> ستونها با فاصله (space یا tab) جدا میشوند.
---
## 🧠 ترکیب با سایر دستورات
### حذف خطوط تکراری بعد از مرتبسازی:
```bash
sort file.txt | uniq
```
---
### مرتبسازی عددی و معکوس همزمان:
```bash
sort -nr numbers.txt
```
---
### مرتبسازی لاگها و مشاهدهی ۵ خط اول:
```bash
sort logfile.txt | head -n 5
```
---
## ✨ مقایسه سریع گزینهها
| گزینه | کاربرد |
|--------|--------|
| `-r` | مرتبسازی معکوس |
| `-n` | مرتبسازی عددی |
| `-f` | بیتوجه به حروف بزرگ/کوچک |
| `-k N` | مرتبسازی بر اساس ستون N |
| `-u` | حذف خطوط تکراری در حین مرتبسازی |
---
## مثال نهایی:
### مرتبسازی بر اساس ستون دوم عددی و معکوس:
```bash
sort -k 2 -n -r file.txt
```