Introducció
En aquesta guia, us mostraré com ordenar les dades en fitxers delimitats i de la sortida d'altres comandaments.
No se sorprendrà d'aprendre que l'ordre que utilitzeu per realitzar aquesta tasca s'anomena "ordenar". Tots els principals commutadors de la comanda class es proporcionaran en aquest article.
Dades de mostra
Les dades d'un fitxer es poden ordenar sempre que estigui delimitat d'alguna manera.
Per exemple, prenguem la taula de la Lliga final de la Premier League escocesa l'any passat i emmagatzemem les dades en un fitxer anomenat "spl".
Podeu crear un fitxer de dades de la manera següent amb un club i les dades d'aquest club separades per comes en cada fila.
Equip | Gols marcats | Objectius en contra | Punts |
---|---|---|---|
Celtic | 93 | 31 | 86 |
Aberdeen | 62 | 48 | 71 |
Cors | 59 | 40 | 65 |
St Johnstone | 58 | 55 | 56 |
Motherwell | 47 | 63 | 50 |
Comtat de Ross | 55 | 61 | 48 |
Inverness | 54 | 48 | 52 |
Dundee | 53 | 57 | 48 |
Partick | 41 | 50 | 46 |
Hamilton | 42 | 63 | 43 |
Kilmarnock | 41 | 64 | 36 |
Dundee United | 45 | 70 | 28 |
Com ordenar les dades als fitxers
A partir d'aquesta taula, es pot veure que Celtic va guanyar la Lliga i Dundee United va arribar l'últim. Si sou un fan de Dundee United, és possible que us vulgueu sentir millor i podeu fer-ho ordenant els gols marcats.
Per fer-ho, executeu el següent comandament:
ordenar -k2 -t, spl
Aquesta vegada, l'ordre seria el següent:
- Partick
- Kilmarnock
- Hamilton
- Dundee United
- Motherwell
- Dundee
- Inverness
- Comtat de Ross
- St Johnstone
- Cors
- Aberdeen
- Celtic
El motiu pel qual els resultats són en aquest ordre és que la columna 2 és la columna marcada pels objectius i el tipus passa del més baix al més alt.
El botó -k us permet triar la columna per ordenar i el botó -t us permet triar el delimitador.
Per fer-vos feliços, els fanàtics de Dundee United poden ordenar per la columna 4 utilitzant el següent comandament:
ordenar -k4 -t, spl
Ara, Dundee United és superior i el Celtic es troba a la part inferior.
Per descomptat, això farà que tant els fanàtics celtes com els de Dundee siguin molt infeliços. Per posar les coses bé, podeu ordenar en ordre invers amb el següent interruptor:
ordenar -k4 -t, -r spl
Un canvi bastant estrany li permet ordenar aleatòriament el que realment augmenta les files de dades.
Podeu fer-ho utilitzant el següent comandament:
ordenar -k4 -t, -R spl
Això podria causar problemes reals si vau barrejar el vostre -r i el vostre interruptor-R.
L'ordre d'ordenació també pot ordenar dates en ordre de mes. Per demostrar, mira la següent taula:
Mes | Dades utilitzades |
---|---|
Gener | 4G |
Febrer | 3000K |
Març | 6000K |
Abril | 100M |
Maig | 5000M |
juny | 200K |
Juliol | 4000K |
Agost | 2500K |
Setembre | 3000K |
Octubre | 1000K |
de novembre | 3G |
Desembre | 2G |
La taula anterior representa el mes de l'any i la quantitat de dades que s'utilitzen en un dispositiu mòbil.
Podeu ordenar les dates alfabèticament mitjançant l'ordre següent:
ordenar-k1 -t, llista de dades usada
També podeu ordenar per mes amb el següent comandament:
ordenar -k1 -t, -M datausedlist
Ara, òbviament, la taula anterior ja els mostra en ordre mensual però si la llista es va poblar aleatòriament, aquesta seria una forma senzilla de classificar-los.
En mirar la segona columna es pot veure que tots els valors es troben en un format llegible per humans que no sembla que seria fàcil d'ordenar, però l'ordre de classificació pot ordenar la columna utilitzada per dades mitjançant l'ordre següent:
ordenar -k2 -t, -h llista de dades usada
Com ordenar les dades passades des d'altres ordres
Mentre la classificació de dades en fitxers és útil, l'ordre d'ordenació també es pot utilitzar per ordenar la sortida d'altres ordres:
Per exemple, mira l'ordre ls:
ls -lt
La comanda anterior retorna cada fitxer com una fila de dades amb els següents camps que es mostren en columnes:
- permisos
- node count
- nom d'usuari
- nom del grup
- mida
- última data d'accés
- nom de l'arxiu
Podeu ordenar la llista per mida de fitxer executant l'ordre següent:
ls -lt | ordenar-k5
Per obtenir els resultats en ordre invers, utilitzeu el següent comandament:
ls -lt | ordenar -k5 -r
La comanda sort també es pot utilitzar juntament amb la comanda ps que enumera els processos que s'executen al vostre sistema.
Per exemple, executeu la següent comanda ps al vostre sistema:
ps -eF
La comanda anterior retorna molta informació sobre els processos que s'estan executant actualment al vostre sistema.
Una d'aquestes columnes és la mida i és possible que vulgueu veure quins són els processos més importants.
Per ordenar aquestes dades per mida, utilitzaria el següent comandament:
ps -eF | ordenar-k5
Resum
No hi ha molt a l'ordre de classificació, però pot ser útil molt ràpidament en ordenar la sortida d'altres ordres en un ordre significatiu, especialment quan la comanda no té els seus propis interruptors de classificació disponibles.
Per obtenir més informació, llegiu les pàgines del manual per a l'ordre d'ordenació.