Употреба Линук наредбе за сортирање

Ставке које треба сортирати морају бити одређене на неки начин

Подаци у Линук текстуалној датотеки могу бити сортирани са командом сортирања све док је сваки елемент раздвојен на неки начин. Често се зарезује као сепаратор за разграничене информације.

Основна правила за сортирање

Команда сорта преуређује линије у текстуалној датотеци да их сортира нумерички и по абецеди. Подразумевана правила за команду сорте су:

Сортирање текстуалне датотеке

Да бисте сортирали линије у раздвојеној Линук датотеки, користите наредбу сортирања овако:

$ сорт-к2 тест.ткт

који сортира датотеку "тест.ткт" према знацима почев од друге колоне (к2 се односи на другу колону). Под претпоставком да је садржај улазне датотеке:

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, Лади Гага, Титула 118, Цена $ 6.30 8, Мицхаел Јацксон, Наслов 373, Цена $ 5.50 3, Мицк Јаггер, Наслов 610, Цена $ 7.90 2, Таилор Свифт, Наслов 723, Цена $ 7.90

Ако разврстате датотеку помоћу -к3 (користећи садржај линије почевши од колоне 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

и

$ сорт -к4 тест.ткт

производи листу сортиран по цени:

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

Промена сорте

Опција -р преусмерава сортирање. На пример, користећи горе наведене резултате:

$ сорт -к4 -р тест.ткт

приноси:

7, Јохн Леннон, Наслов 271, Цена $ 7.90 3, Мицк Јаггер, Наслов 610, Цена $ 7.90 2, Таилор Свифт, Наслов 723, Цена $ 7.90 5, Јохнни Цасх, Наслов 482, Цена $ 6.50 6, Елвис Преслеи, Наслов 335, Цена $ 6.30 4, Лади Гага, Титула 118, Цена $ 6.30 1, Јустин Тимберлаке, Наслов 545, Цена $ 6.30 8, Мајкл Џексон, Наслов 373, Цена $ 5.50

Чување сортираног фајла

Сортирање датотеке не чува. Да бисте сачували сортирану листу у датотеци, користите оператера за преусмјеравање:

сортирај -к4 -р тест.ткт> тест_нев.ткт

где је "тест_нев.ткт" нова датотека.

Сортирање излаза струје

Такође можете примијенити команду сортирања на излаз потоса, као што је оператер цијеви:

$ лс -ал | сортирај -р -н -к5

Ово сортира излаз листе датотека генерисаних од стране лс наредбе по величини датотеке, почевши од највећих датотека. Оператор -н специфицира нумеричко сортирање пре него абецедно.