Skip to main content

Com ordenar dades en un fitxer amb Linux

Anonim

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.

EquipGols marcatsObjectius en contraPunts
Celtic933186
Aberdeen624871
Cors594065
St Johnstone585556
Motherwell476350
Comtat de Ross556148
Inverness544852
Dundee535748
Partick415046
Hamilton426343
Kilmarnock416436
Dundee United457028

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:

MesDades utilitzades
Gener4G
Febrer3000K
Març6000K
Abril100M
Maig5000M
juny200K
Juliol4000K
Agost2500K
Setembre3000K
Octubre1000K
de novembre3G
Desembre2G

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ó.