Ангилах зүйлс нь зарим талаараа хязгаарлагдах ёстой
Линуксийн текст файл дахь өгөгдөл нь элемент бүрийг аль нэг байдлаар тусгаарлагдах хүртэл эрэмбэлэх тушаалаар эрэмбэлэгддэг. Ихэнх тохиолдолд таслал нь хязгаарлагдмал мэдээллийг тусгаарлах зорилгоор ашигладаг.
Ангилах үндсэн дүрэм
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.90Sort нь буцаах
-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 оператор цагаан толгойн үсэг биш харин тоон ялгахыг заана.