Skip to main content

Cum să sortați date într-un fișier utilizând Linux

monday.com: Full Review (2019) (Aprilie 2025)

monday.com: Full Review (2019) (Aprilie 2025)
Anonim

Introducere

În acest ghid, vă voi arăta cum să sortați datele în fișiere delimitate și de la ieșirea altor comenzi.

Nu veți fi surprins să aflați că comanda utilizată pentru a efectua această sarcină se numește "sort". Toate comenzile majore ale comenzii de sortare vor fi furnizate în acest articol.

Datele de probă

Datele dintr-un fișier pot fi sortate atâta timp cât sunt delimitate într-un fel.

De exemplu, să luăm ultimul tabel de ligă din Premier League din Scoția anul trecut și să stocăm datele într-un fișier numit "spl".

Puteți crea un fișier de date după cum urmează cu un singur club și datele pentru acest club separate prin virgule pe fiecare rând.

EchipăScopurile scorurilorObiective împotrivapuncte
celtic933186
Aberdeen624871
inimă594065
St Johnstone585556
Motherwell476350
Ross County556148
Inverness544852
Dundee535748
Partick415046
Hamilton426343
Kilmarnock416436
Dundee United457028

Cum se sortează datele în fișiere

Din acea masă, puteți vedea că Celtic a câștigat liga și Dundee United a venit ultima. Dacă sunteți un fan al Dundee United, ați putea dori să vă simțiți mai bine și puteți face acest lucru prin sortarea golurilor marcate.

Pentru aceasta, rulați următoarea comandă:

sort -k2 -t, spl

De data aceasta ordinul ar fi următorul:

  • Partick
  • Kilmarnock
  • Hamilton
  • Dundee United
  • Motherwell
  • Dundee
  • Inverness
  • Ross County
  • St Johnstone
  • inimă
  • Aberdeen
  • celtic

Motivul pentru care rezultatele sunt în această ordine este că coloana 2 este coloana golurilor înscrise, iar sortarea trece de la cel mai mic la cel mai înalt.

Comutatorul -k vă permite să alegeți coloana pentru sortare și comutatorul -t vă permite să alegeți delimitatorul.

Pentru a se face fericiți, fanii Dundee United pot sorta după coloana 4 folosind următoarea comandă:

sort -k4 -t, spl

Acum Dundee United este de top și Celtic sunt în partea de jos.

Desigur, acest lucru ar face atât fanii Celtic, cât și Dundee foarte nefericiți într-adevăr. Pentru a pune lucrurile la dispoziție, puteți sorta în ordine inversă utilizând următorul switch:

sort -k4 -t, -r spl

Un comutator destul de bizar vă permite să sortați în mod aleatoriu, care într-adevăr amestecă rândurile de date.

Puteți face acest lucru folosind următoarea comandă:

sort -k4 -t, -R spl

Acest lucru ar putea provoca probleme reale dacă ați amestecat comutatorul -r și -R.

Comanda de sortare poate sorta, de asemenea, datele în ordinea lunară. Pentru a arăta uita-te la următorul tabel:

LunăDatele folosite
ianuarie4G
februarie3000K
Martie6000K
Aprilie100M
Mai5000m
iunie200K
iulie4000K
August2500K
Septembrie3000K
octombrie1000K
noiembrie3G
decembrie2G

Tabelul de mai sus reprezintă luna din anul și cantitatea de date folosită pe un dispozitiv mobil.

Puteți sorta datele în ordine alfabetică utilizând următoarea comandă:

sort -k1 -t, lista utilizată de date

De asemenea, puteți sorta după lună utilizând următoarea comandă:

sort -k1 -t, -M dateusedlist

Acum, evident, tabelul de mai sus le arată deja în ordine de luni, dar dacă lista a fost populată aleatoriu, atunci ar fi o modalitate simplă de a le sorta.

Privind la cea de-a doua coloană, puteți vedea că toate valorile sunt într-un format care poate fi citit de om și care nu pare să fie ușor de sortare, dar comanda de sortare poate sorta coloana de date utilizată folosind următoarea comandă:

sort -k2 -t, -h dateusedlist

Cum să sortați datele primite din alte comenzi

În timp ce sortarea datelor în fișiere este utilă, comanda de sortare poate fi de asemenea folosită pentru a sorta ieșirea din alte comenzi:

De exemplu, uitați-vă la comanda ls:

Este-llt

Comanda de mai sus returnează fiecare fișier ca un rând de date cu următoarele câmpuri afișate în coloane:

  • permisiuni
  • numar de noduri
  • nume de utilizator
  • numele Grupului
  • mărimea
  • ultima dată de acces
  • nume de fișier

Puteți sorta lista după dimensiunea fișierului executând următoarea comandă:

ls -lt | sort-k5

Pentru a obține rezultatele în ordine inversă, veți folosi următoarea comandă:

ls -lt | sort -k5 -r

Comanda de sortare poate fi folosită și împreună cu comanda ps care afișează procesele care rulează pe sistemul dvs.

De exemplu, executați următoarea comandă ps pe sistemul dvs.:

ps-eF

Comanda de mai sus returnează o mulțime de informații despre procesele care rulează în prezent pe sistemul dvs.

Una dintre coloanele respective este dimensiunea și este posibil să doriți să vedeți care procese sunt cele mai mari.

Pentru a sorta aceste date după mărime, utilizați următoarea comandă:

ps -eF | sort-k5

rezumat

Nu este prea mult pentru comanda de sortare, dar poate deveni utilă foarte rapid atunci când sortarea de ieșire din alte comenzi într-o ordine semnificativă, mai ales atunci când comanda nu are propriile switch-uri de sortare disponibile.

Pentru mai multe informații citiți paginile manuale pentru comanda de sortare.