Предметите што треба да се сортираат мора да се ограничат на некој начин
Податоците во текстуална датотека на Линукс можат да се подредуваат со командата за вид сè додека секој елемент е ограничен на некој начин. Најчесто, запирката се користи како сепаратор за разграничени информации.
Основни правила за сортирање
Командата за вид ги преуредува линиите во текстуална датотека за да ги сортира нумеричко и азбучно. Стандардните правила за командата sort се:
- Текст што започнува со број се појавува пред текстот што започнува со буква; пониски броеви сортираат во прв план.
- Текст што започнува со писмо што се појавува на азбуката порано е дека првото писмо од други текстуални записи е сортирано пред текстот што започнува со писмо што се појавува подоцна во азбуката.
- Каде што текстот започнува со големи и мали букви од истата буква, мала инстанца е сортирана прво.
Сортирање на текстуална датотека
За да ги сортирате линиите во ограничена датотека на Линукс, ја користите командата за сортирање како оваа:
$ сортирање -k2 test.txtкоја ја сортира датотеката "test.txt" според ликовите почнувајќи од втората колона (k2 се однесува на втората колона). Под претпоставка дека содржината на влезната датотека е:
1, Џастин Тимберлејк, наслов 545, Цена 7,30 $ 2, Тејлор Свифт, наслов 723, Цена 7,90 $ 3, Мик Џегер, наслов 610, Цена 7,90 $ 4, Лејди Гага, наслов 118, Цена 7,30 $ 5, Џони Кеш, наслов 482, Цена 6,50 6, Елвис Присли, наслов 335, цена 7,30 $ 7, Џон Ленон, наслов 271, цена 7,90 $ 8, Мајкл Џексон, наслов 373, цена 5,50 $Бидејќи втората колона во овој пример содржи име и презиме, сортираниот излез е поставен со првата буква од името на секој поединец во втората колона - Елвис, Џон, Џони, Џастин, Дама, Мајкл, Мик и Тејлор , како што е прикажано подолу:
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, Лејди Гага, наслов 118, Цена $ 6.30 7, Џон Ленон, наслов 271, цена 7,90 $ 6, Елвис Присли, наслов 335, цена 6,30 $ 8, Мајкл Џексон, наслов 373, цена 5,50 $ 5, Џони Кеш, наслов 482, цена 6,50 1, Џастин Тимберлејк, наслов 545, цена 6,30 $ 3, Мик Џегер, наслов 610, цена 7,90 $ 2, Тејлор Свифт, наслов 723, цена 7,90 $и
$ сортирање -k4 test.txtпроизведува листа сортирана по цена:
8, Мајкл Џексон, наслов 373, Цена $ 5.50 1, Џастин Тимберлејк, наслов 545, Цена 6,30 лева 4, Лејди Гага, наслов 118, Цена 6,30 $ 6, Елвис Присли, наслов 335, цена 6,30 $ 5, Џони Кеш, наслов 482, цена 6,50 2, Тејлор Свифт, наслов 723, Цена 7,90 $ 3, Мик Џегер, наслов 610, Цена 7,90 $ 7, Џон Ленон, наслов 271, Цена 7,90 $Превртена сортирање
Опцијата -r го менува сортирањето. На пример, користејќи ги погоре наведените резултати:
$ сортирање -k4 -r test.txtприноси:
7, Џон Ленон, наслов 271, цена 7,90 $ 3, Мик Џегер, наслов 610, цена 7,90 $ 2, Тејлор Свифт, наслов 723, цена 7,90 $ 5, Џони Кеш, наслов 482, цена 6,50 $ 6, Елвис Присли, наслов 335, цена 6,30 4, Lady Gaga, наслов 118, Цена 6,30 $ 1, Џастин Тимберлејк, наслов 545, Цена 6,30 $ 8, Мајкл Џексон, наслов 373, Цена 5,50 $Зачувување на сортирана датотека
Сортирањето на датотека не го зачувува. За да ја зачувате сортираната листа во датотека, го користите операторот за пренасочување:
сортирај -k4 -r test.txt> test_new.txtкаде што "test_new.txt" е новата датотека.
Сортирање на излезен тек
Можете исто така да ја примените командата за вид на излезот на поток, како што е операторот на цевки:
$ ls-al | сортирање -r-n-k5Ова го сортира излезот од листата на датотеки генерирани од командата ls со големина на датотеката, почнувајќи од најголемите датотеки. Операторот -n одредува нумеричко сортирање наместо азбучно.