Kako razvrstati podatke u datoteci pomoću Linuxa

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:

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:

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.