Линуксийн Sort командын хэрэглээ

Ангилах зүйлс нь зарим талаараа хязгаарлагдах ёстой

Линуксийн текст файл дахь өгөгдөл нь элемент бүрийг аль нэг байдлаар тусгаарлагдах хүртэл эрэмбэлэх тушаалаар эрэмбэлэгддэг. Ихэнх тохиолдолд таслал нь хязгаарлагдмал мэдээллийг тусгаарлах зорилгоор ашигладаг.

Ангилах үндсэн дүрэм

Sort тушаал нь тоон болон үсгээр эрэмбэлэхийн тулд текст файл дахь мөрүүдийг өөрчилдөг. Эрэмбэлэх тушаалын анхдагч дүрмүүд нь:

Текст файлыг ангилах

Зөвшөөрөгдсөн Linux файлд мөрүүдийг эрэмбэлэхийн тулд та дараах тушаалыг ашиглана:

$ sort -k2 test.txt

Хоёрдахь баганаас эхэлж байгаа тэмдэгтүүдийн дагуу "test.txt" файлыг (k2 нь хоёр дахь баганыг илэрхийлнэ). Оролтын файлын агуулга гэж үзвэл:

7,90 $ 7,90 4, Lady Gaga, Гарчиг 118, Үнэ $ 7.30 5, Жонни Бэлэн, Гарчиг 482, Үнэ $ 6.50 6, Элвис Пресли, Гарчиг 335, Үнэ $ 7.30 7, Жон Леннон, Гарчиг 271, Үнэ $ 7.90 8, Майкл Жексон, Гарчиг 373, Үнэ $ 5.50

Энэ жишээнд байгаа хоёрдахь баганад эхний болон эцсийн нэртэй байдаг тул эрэмбэлэгдсэн гаралт нь хоёр дахь баган дахь Elvis, John, Johnny, Justin, Lady, Michael, Mick, Taylor зэрэг хүмүүсийн эхний нэрний эхний үсгээр зохион байгуулагдсан учраас , дараах байдлаар харуулав:

6, Элвис Пресли, Гарчиг 335, Үнэ $ 6.30 7, Жон Леннон, Гарчиг 271, Үнэ $ 7.90 5, Жонни Бэлэн, Гарчиг 482, Үнэ $ 6.50 1, Жастин Тимберлэйк, 545 гарчиг, Үнэ $ 6.30 4, Lady Gaga, Гарчиг 118, Үнэ $ 6.30 8, Майкл Жексон, 373-р зүйл, Үнэ $ 5.50 3, Мик Жаггер, 610-р гарчиг, Үнэ $ 7.90 2, Тэйлор Свифт, 723-р зүйл, Үнэ $ 7.90

Хэрэв та файлыг -k3 (эрэмбэлэх 3-р баганаас эхлэн мөрийн гарчгийг ашиглан) эрэмбэлбэл, гаралт нь:

4, Lady Gaga, Гарчиг 118, Үнэ $ 6.30 7, Жон Леннон, 271 дугаар зүйл, Үнэ $ 7.90 6, Элвис Пресли, Гарчиг 335, Үнэ $ 6.30 8, Майкл Жексон, Гарчиг 373, Үнэ $ 5.50 5, Жонни Бэлэн, 1, Жастин Тимберлэйк, 545-р гарчиг, Үнэ $ 6.30 3, Мик Жаггер, 610-р гарчиг, Үнэ $ 7.90 2, Тэйлор Свифт, 723-р зүйл, Үнэ $ 7.90

болон

$ sort -k4 test.txt

Үнийн эрэмбэлэгдсэн жагсаалтыг гаргадаг:

6, $ 6.30 5, Жонни Бэлэн, Гарчиг 482, Үнэ $ 6.50, Үнэ $ 6.30 6, Жейн Э. 2, Тейлор Свифт, 723 нэр, Үнэ $ 7.90 3, Мик Жаггер, 610 дугаар зүйл, Үнэ $ 7.90 7, Жон Леннон, Гарчиг 271, Үнэ $ 7.90

Sort нь буцаах

-r сонголт нь ангилж өөрчилдөг. Жишээ нь, дээрх үр дүнг ашиглана уу:

$ sort -k4 -r test.txt

гарц:

7, Жон Леннон, 271-р зүйл, Үнэ $ 7.90 3, Мик Жаггер, 610-р гарчиг, Үнэ $ 7.90 2, Тэйлор Свифт, 723 нэртэй үнэ, 7,90 долларын үнэтэй 5, Жонни Бэлэн, 4, Lady Gaga, Гарчиг 118, Үнэ $ 6.30 1, Justin Timberlake, 545 гарчиг, Үнэ $ 6.30 8, Майкл Жексон, Гарчиг 373, Үнэ $ 5.50

Төрөлжүүлсэн файлыг хадгалж байна

Файлыг ялгах нь үүнийг хадгалахгүй. Файл дээр эрэмбэлэгдсэн жагсаалтыг хадгалахын тулд та дамжуулагчийг ашиглаж болно:

sort -k4 -r test.txt> test_new.txt

"test_new.txt" нь шинэ файл юм.

Stream Outputыг ангилах

Та бас хоолойн оператор зэрэг урсгал дамжуулалтыг эрэмбэлэх тушаалыг ашиглаж болно:

$ ls -al | sort -r -n -k5

Энэ нь файлын хэмжээг ls тушаалаар үүсгэсэн файлын жагсаалтыг гарган хамгийн том файлаас эхэлдэг. -n оператор цагаан толгойн үсэг биш харин тоон ялгахыг заана.