Въведение
В това ръководство ще ви покажа как да сортирате данни в разграничени файлове и от изхода на други команди.
Няма да бъдете изненадани да научите, че командата, която използвате, за да изпълнявате тази задача, се нарича "сортиране". Всички главни ключове на командата за сортиране ще бъдат предоставени в тази статия.
Примерни данни
Данните във файл могат да бъдат сортирани дотолкова, доколкото са ограничени по някакъв начин.
Например, нека вземем финалната маса от Шотландската Висша лига миналата година и да съхраним данните в файл, наречен "spl".
Можете да създадете файл с данни, както следва, с един клуб и данните за този клуб да са разделени със запетаи на всеки ред.
екип | Голове отбелязани | Цели срещу | точки |
---|---|---|---|
келтски | 93 | 31 | 86 |
Абърдийн | 62 | 48 | 71 |
сърца | 59 | 40 | 65 |
Свети Джонстоун | 58 | 55 | 56 |
Мъдъруел | 47 | 63 | 50 |
Рос Каунти | 55 | 61 | 48 |
Инвърнес | 54 | 48 | 52 |
Dundee | 53 | 57 | 48 |
Partick | 41 | 50 | 46 |
Хамилтън | 42 | 63 | 43 |
Килмарнък | 41 | 64 | 36 |
Дънди Юнайтед | 45 | 70 | 28 |
Как да сортирате данните във файлове
От тази маса можете да видите, че Келтик спечели титлата и Дънди Юнайтед дойде последно. Ако сте фен на Дънди Юнайтед, може да искате да се почувствате по-добре и бихте могли да направите това, като сортирате голове, отбелязани.
За тази цел изпълнете следната команда:
сортиране-k2 -t, spl
Този път поръчката ще бъде както следва:
- Partick
- Килмарнък
- Хамилтън
- Дънди Юнайтед
- Мъдъруел
- Dundee
- Инвърнес
- Рос Каунти
- Свети Джонстоун
- сърца
- Абърдийн
- келтски
Причината, поради която резултатите са в този ред, е, че колона 2 е колоната за вкарани голове и сортирането е от най-ниското до най-високото.
Превключвателят -k ви позволява да изберете колона за сортиране и превключвателят -t ви позволява да изберете разделителя.
За да се чувстват щастливи, феновете на Дънди Юнайтед могат да сортират по колона 4, като използват следната команда:
сортиране -k4 -t, spl
Сега Дънди Юнайтед са на върха, а Келтски са на дъното.
Разбира се, това ще направи феновете на Селтик и Дънди наистина много нещастни. За да направите нещата правилно, можете да ги сортирате в обратен ред, като използвате следния ключ:
сортиране -k4 -t, -r spl
А доста странен превключвател ви позволява да сортирате произволно, което наистина просто разбърква редовете на данните.
Можете да направите това, като използвате следната команда:
сортиране -k4 -t, -R spl
Това може да доведе до реални проблеми, ако смесите вашия -r и вашия -R превключвател.
Командата за сортиране също може да сортира датите в месечен ред. За да покажете поглед на следната таблица:
месец | Използвани данни |
---|---|
януари | 4G |
февруари | 3000K |
Март | 6000K |
април | 100M |
Може | 5000m |
юни | 200K |
Юли | 4000K |
Август | 2500K |
Септември | 3000K |
октомври | 1000K |
ноември | 3G |
декември | 2G |
Горната таблица представя месеца на годината и количеството данни, използвани за мобилно устройство.
Можете да сортирате датите по азбучен ред, като използвате следната команда:
sort -k1 -t, datausedlist
Също така можете да сортирате по месеци, като използвате следната команда:
sort -k1 -t, -Musedusedlist
Очевидно таблицата по-горе вече ги показва в месечен ред, но ако списъкът е напълнен случайно, това би било просто начин за сортиране.
Погледнато във втората колона можете да видите, че всички стойности са в човешки четеем формат, който не изглежда да бъде лесен за сортиране, но командата за сортиране може да сортира използваната колона с помощта на следната команда:
sort -k2 -t, -h datausedlistlist
Как да сортирате данните, преминали от други команди
Докато сортирането на данни в файлове е полезно, командата за сортиране може да се използва и за сортиране на изхода от други команди:
Например вижте командата ls:
ls -lt
Горната команда връща всеки файл като ред от данни със следните полета, показани в графи:
- разрешения
- брой възли
- потребителско име
- име на групата
- размер
- последната дата на достъп
- име на файл
Можете да сортирате списъка по размер на файла, като изпълните следната команда:
ls -lt | сортиране-k5
За да получите резултатите в обратен ред, ще използвате следната команда:
ls -lt | сортиране -k5 -r
Командата за сортиране може да се използва и във връзка с командата ps, която изброява процесите, които се изпълняват на вашата система.
Например изпълнете следната команда ps на вашата система:
ps -eF
Горната команда връща много информация за процесите, които в момента се изпълняват на вашата система.
Една от тези колони е размерът и може да искате да видите кои процеси са най-големи.
За да ги подредите по размер, ще използвате следната команда:
ps -eF | сортиране-k5
резюме
Командата за сортиране не е много, но може да се използва много бързо, когато се сортира продукцията от други команди в смислен ред, особено когато командата няма свои собствени сортиращи ключове.
За повече информация прочетете ръководствата за командата за сортиране.