Как да сортирам изхода на програмата в Linux - команда за сортиране, HippoLab - блог на sysadmin
Най-вероятно вече имате инсталиран пакет coreutils, макар и само защото не можете да го премахнете, но за всеки случай проверете:
dpkg -l | grep coreutils # за дистрибуции, базирани на debian
Ако първата колона на изхода съдържа буквата "i", която означава инсталиран, тогава всичко е в ред.
Много е лесно да се използва сортиране за сортиране на изхода на програмите. За да направите това, просто пренасочете изхода на някаква програма към входния поток за сортиране:
Тази конструкция първо ще извика командата ls, която чете съдържанието на директорията и след това предава резултата на командата за сортиране, която ще го сортира по азбучен ред (ключът -d указва да използва азбуката като шаблон).
Друг пример за използване на командата за сортиране в linux е сортирането на съдържанието на файл. Нека да сортираме например редовете, съдържащи се във файла/etc/passwd, за да получим потребителските имена по азбучен ред:
сортиране -d/etc/passwd
Но какво, ако искате, като използвате един и същ файл, да сортирате редовете не по потребителско име, а например по техния уникален идентификатор (UID)? Помощната програма за сортиране може да работи и с таблици - сортиране по колона. По-скоро първоначално сортирането просто работи с таблици, но като разделител използва интервал и символ за таблици по подразбиране за отделяне на колони, прекъсване на ред за отделни редове. Тъй като файлът/etc/passwd използва ":" за разделяне на колони, този знак трябва да бъде предаден за сортиране с помощта на превключвателя "-t" изрично и след това просто да посочите номера на колоната с помощта на превключвателя "-k". Но нищо няма да работи, ако отново не посочите шаблон. В този случай трябва да сортираме числата - затова вместо "-d" (по азбучен ред) поставяме -n (по числа). Ето какво се случи: