Uvod
U ovom vodiču prikazat ću vam kako razvrstati podatke u datotekama razgraničene i iz izlaza drugih naredbi.
Nećete biti iznenađeni kada saznate da se naredba koju koristite za obavljanje ovog zadatka naziva "vrsta". Svi glavni prekidači naredbe sortiranja bit će navedeni u ovom članku.
Podaci o uzorku
Podaci u datoteci mogu se razvrstati sve dok je na neki način ograničen.
Na primjer, neka prošle godine preuzmu konačnu tablicu lige iz škotske Premier lige i spremimo podatke u datoteku pod nazivom "spl".
Možete izraditi podatkovnu datoteku kako slijedi s jednim klubom, a podaci za taj klub razdvojeni zarezima za svaki redak.
Tim | Ocjenjeni ciljevi | Ciljevi protiv | točke |
---|---|---|---|
keltski | 93 | 31 | 86 |
Aberdeen | 62 | 48 | 71 |
srca | 59 | 40 | 65 |
St Johnstone | 58 | 55 | 56 |
Motherwell | 47 | 63 | 50 |
Ross County | 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 |
Kako razvrstati podatke u datotekama
Iz te tablice možete vidjeti da je Celtic osvojio ligu i Dundee United je došao posljednji. Ako ste fan Dundee Uniteda, možda biste se htjeli oslanjati na bolje, a to biste mogli učiniti sortiranjem na postignutim golovima.
Da biste to učinili pokrenite sljedeću naredbu:
sort -k2 -t, spl
Ovoga bi puta nalog bio sljedeći:
- Partick
- Kilmarnock
- Hamilton
- Dundee United
- Motherwell
- Dundee
- Inverness
- Ross County
- St Johnstone
- srca
- Aberdeen
- keltski
Razlog zašto su rezultati u ovom redoslijedu je da je stupac 2 ciljevi postignutih stupaca i vrsta ide od najniže do najviše.
Prekidač -k omogućuje vam odabir stupca za sortiranje, a tipka -T omogućuje odabir graničnika.
Da bi se doista sretni, navijači Dundee Uniteda mogu sortirati prema stupcu 4 pomoću sljedeće naredbe:
vrsta -k4 -t, spl
Sada su Dundee Unitedi vrhunski i keltski su na dnu.
Naravno, to bi učinilo oba navijača Celtica i Dundeea jako nesretni. Da biste ispravno stavili stvari, možete sortirati obrnutim redoslijedom pomoću sljedećeg prekidača:
vrsta -k4 -t, -r spl
Prilično bizaran prekidač omogućuje vam sortiranje slučajnim odabirom, što stvarno zaustavlja redove podataka.
To možete učiniti pomoću sljedeće naredbe:
vrsta -k4 -t, -R spl
To bi moglo uzrokovati stvarne probleme ako pomiješate svoje -r i vaše -R prekidač.
Naredba za sortiranje također može sortirati datume u redoslijedu mjeseca. Da biste pokazali pogled na sljedeću tablicu:
Mjesec | Podaci korišteni |
---|---|
siječanj | 4G |
veljača | 3000K |
ožujak | 6000K |
travanj | 100M |
svibanj | 5000m |
lipanj | 200K |
srpanj | 4000K |
kolovoz | 2500K |
rujan | 3000K |
listopad | 1000k |
studeni | 3G |
prosinac | 2G |
Gornja tablica predstavlja mjesec u godini i količina podataka korištenih na mobilnom uređaju.
Možete sortirati datume abecednim redom pomoću sljedeće naredbe:
vrsta -k1 -t, podatkovni popis
Također možete sortirati po mjesecu pomoću sljedeće naredbe:
sort -k1 -t, -M podatkovni popis
Sada je očigledno da ih tablica već pokazuje u mjesecu poretku, ali ako je popis slučajno naseljen, onda bi to bio jednostavan način razvrstavanja.
Gledajući drugi stupac možete vidjeti da su sve vrijednosti u ljudskom čitljivom formatu koji ne izgleda kao da bi bilo lako sortirati, ali naredba sortiranja može razvrstati stupac upotrijebljene podatke pomoću sljedeće naredbe:
sort -k2 -t, -h podatkovni popis
Kako poredati podatke koji su prošli iz drugih naredbi
Dok je sortiranje podataka u datotekama korisno, naredba za sortiranje može se koristiti za sortiranje izlaza iz drugih naredbi:
Na primjer pogledajte ls naredbu:
ls -lt
Gornja naredba vraća svaku datoteku kao redak podataka s sljedećim poljima prikazanim u stupcima:
- dozvole
- broj čvora
- Korisničko ime
- grupno ime
- veličina
- posljednji datum pristupa
- naziv datoteke
Popis možete poredati prema veličini datoteke pokretanjem sljedeće naredbe:
ls -lt | sort -k5
Da biste dobili rezultate obrnutim redoslijedom, upotrijebite sljedeću naredbu:
ls -lt | sort -k5 -r
Naredba za sortiranje također se može koristiti zajedno s ps naredbom koja navodi postupke koji se izvode na vašem sustavu.
Primjerice, pokrenite sljedeću naredbu ps na vašem sustavu:
ps-eF
Gornja naredba vraća puno informacija o procesima koji se trenutno izvode na vašem sustavu.
Jedan od tih stupaca je veličina i možda biste željeli vidjeti koji su procesi najveći.
Da biste poredali podatke prema veličini, upotrijebite sljedeću naredbu:
ps -eF | sort -k5
Sažetak
Ne postoji nijedna vrsta naredbe za sortiranje, ali može postati korisna vrlo brzo prilikom razvrstavanja izlaznih podataka iz drugih naredbi u smisleni red, naročito kada naredba nema vlastite sortne sklopke dostupne.
Za više informacija pročitajte priručničke stranice za naredbu sortiranja.