ویرگول
ورودثبت نام
Amirhoseinsohrabi
Amirhoseinsohrabipython developer
Amirhoseinsohrabi
Amirhoseinsohrabi
خواندن ۳ دقیقه·۴ سال پیش

مرتب سازی فایلها با ابزار sort در ترمینال لینوکس




مقدمه

فرض کنید فایلی پر از اسم دارید و میخواهید اسامی را بر اساس حروف الفبا مرتب کنید در همچنین شرایطی استفاده از ابزار sort بهترین کار است. شما با ابزار sort میتوانید در کوتاه ترین زمان ممکن فایل خود را به شکل مرتب شده ببنید یا با ترکیب ابزار با اوپراتور های خروجی فایل جدیدی از فایل کنونی بسازید.

مرتب سازی فایل

اگر دستور sort را قبل از هر فایل قرار دهید به شکل خودکار محتویات فایل شما به ترتیب حروف الفبا یا اعداد نمایش داده خواهد شد.اولویت با اعداد است !!! برای درک بهتر این موضوع به مثال زیر توجه کنید.

$ cat test.txt # ali amir hasan fateme nasrin narges homayon reza taha 3 5 8 95 32 1 2 $ sort test.txt # 1 2 3 32 5 8 95 ali amir fateme hasan homayon narges nasrin reza taha

مرتب سازی فایل به صورت برعکس

اگر خواستید که فایل خود را به صورت برعکس مرتب کنید از سوییچ r استفاده کنید.

$ cat test.txt # ali amir hasan fateme nasrin narges homayon reza taha 3 5 8 95 32 1 2 $ sort -r test.txt # taha reza nasrin narges homayon hasan fateme amir ali 95 8 5 32 3 2 1

مرتب سازی فایل های عددی به ترتیب اعداد کوچک به بزرگ

اگر فایلی پر از اعداد مختلف دارید و میخواهیدآن را مرتب کنید بهترین کار استفاده از سوییچ n هست. با استفاده از این سوییچ میتوانید اعدادخود را به ترتیب از کوچک به بزرگ مرتب کنید

$ cat test.txt # 35 25 15 12 1 2 3256 63 35 3 65 4 5 988 2111 5635 $ sort -n test.txt # 1 2 3 4 5 12 15 25 35 35 63 65 988 2111 3256 5635

مرتب سازی فایل های عددی به ترتیب اعداد بزرگ به کوچک

اگر میخواهید که فایل عددی خود را به ترتیب اعداد بزرگ به کوچک مرتب کنید میتوانید از ترکیب سوییچ nr استفاده کنید.

$ cat test.txt # 35 25 15 12 1 2 3256 63 35 3 65 4 5 988 2111 5635 $ sort -nr test.txt # 5635 3256 2111 988 65 63 35 35 25 15 12 5 4 3 2 1

گرفتن خروجی از فایل مرتب شده به فایل جدید

اگر فایلی را با ابزار مرتب کرده اید و میخواهید که خروجی را به فایل جدیدی منتقل کنید میتوانید از سوییچ o یا اوپراتور خروجی استفاده کنید. لازم به ذکر است که استفاده از اوپراتور خروجی یا سوییچ تفاوتی در خروجی نخواهند داشت. پس بسته به راحتی خود از یکی از آن ها استفاده کنید.

$ sort test.txt > Newfile.txt Or $ sort -o test.txt Newfile.txt

چک کردن مرتب بودن فایل و نمایش خطوط نامرتب

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

$ cat test.txt # Amirhosein Jadi Sina marjan $ sort -c test.txt # sort: test.txt:4: disorder: marjan

مرتب سازی فایل و حذف کلمات تکراری

اگر در فایل کلمات تکرار شده دارید و نیاز دارید که بعد از مرتب سازی فایل آن ها حذف شوند از سوییچ u استفاده کنید. این سوییچ به جز مرتب سازی فایل های شما کلمات تکراری را هم حذف میکند.

$ cat test.txt # Bita Amirhosein Jadi Jadi marjan Sina $ sort -u test.txt # Amirhosein Bita Jadi marjan Sina
۵
۰
Amirhoseinsohrabi
Amirhoseinsohrabi
python developer
شاید از این پست‌ها خوشتان بیاید