Kako sortirati podatke u datoteci koristeći Linux

Uvod

U ovom vodiču ću vam pokazati kako da sortirate podatke u razgraničenim datotekama i izlazu drugih komandi.

Nećete biti iznenađeni što ćete saznati da je komanda koju koristite za obavljanje ovog zadatka nazvana "sortiraj". Svi glavni prekidači komande sorta biće navedeni u ovom članku.

Sample Data

Podaci u datoteci mogu biti sortirani sve dok je na neki način ograničen.

Na primjer, hajde da uzmemo finalni ligaški stol iz prošle godine iz Škotske premijer lige i sačuvamo podatke u fajlu pod nazivom "spl".

Datoteku podataka možete kreirati na sledeći način sa jednim klubom i podacima za taj klub koji su razdvojeni zapovijima u svakom redu.

Tim Ciljevi golova Ciljevi protiv Tačke
Seltik 93 31 86
Aberdeen 62 48 71
Srca 59 40 65
St Džonston 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 sortirati podatke u fajlovima

Sa tog stola, možete videti da je Celtic pobedio u ligi i da je Dundee United poslednji došao. Ako ste navijač Dundee United-a, možda ćete želeti da se osjećate bolje i to možete uraditi sortiranjem postignutih golova.

Da biste to uradili, pokrenite sledeću komandu:

sortiraj -k2 -t, spl

Ovog puta nalog bi bio sledeći:

Razlog zbog kojeg su rezultati u ovom redosledu je da je kolona 2 kolona koja je postigla gol i sorta ide od najniže do najviše.

Prekini -k omogućava vam da odaberete kolonu za sortiranje i -t prekidač vam omogućava da odaberete razdjelnik.

Da bi se zaista sreli, fanovi Dundee United-a mogu da sortiraju po koloni 4 koristeći sledeću komandu:

sortiraj -k4 -t, spl

Sada su Dundi Junajteda na vrhu i Seltik je na dnu.

Naravno, ovo bi učinilo i navijačima iz Celtica i Dundeea zaista nesrećnim. Da biste ispravno stavili stvari, možete sortirati u obrnutom redosledu pomoću sledećeg prekidača:

sortiraj -k4 -t, -r spl

Prilično bizarni prekidač vam omogućava da sortirate slučajno što stvarno samo zbunjuje redove podataka.

To možete učiniti koristeći sledeću komandu:

sortiraj -k4 -t, -R spl

To bi moglo uzrokovati stvarne probleme ako ste izmijenili vaš -r i vaš -R prekidač.

Komanda sorte može takođe sortirati datume u mjesečnom redosledu. Da biste prikazali pogled na sledeću tabelu:

Mesec Podaci se koriste
Januar 4G
februar 3000K
Mart 6000K
April 100M
Maj 5000M
Jun 200K
Juli 4000K
Avgust 2500K
Septembar 3000K
Oktobar 1000K
Novembar 3G
Decembar 2G

Gore navedena tablica predstavlja mesec u godini i količinu podataka koji se koriste na mobilnom uređaju.

Datum možete sortirati po abecedi koristeći sledeću komandu:

sortiraj -k1 -t, datausedlist

Takođe možete sortirati po mjesecu pomoću sledeće naredbe:

sortiraj -k1 -t, -M datausedlist

Sada je očigledno da se gore navedena tabela već prikazuje u mesečnom redosledu, ali ako je popis slučajno naseljen onda bi to bio jednostavan način sortiranja.

Gledajući u drugu kolonu možete videti da su sve vrijednosti u ljudskom čitljivom formatu koji ne izgleda kao da bi bilo lako sortirati, ali naredba za sortiranje može sortirati korištene kolone podataka pomoću sljedeće naredbe:

sortiraj -k2 -t, -h datausedlist

Kako upoređivati ​​podatke iz drugih komandi

Dok je sortiranje podataka u datotekama korisno, komanda sorte se takođe može koristiti za sortiranje izlaza iz drugih komandi:

Na primer, pogledajte komandu ls :

Je-li

Gornja komanda vraća svaku datoteku kao red podataka sa sljedećim poljima prikazanim u kolonama:

Spisak možete sortirati po veličini datoteke tako što ćete pokrenuti sljedeću komandu:

ls -lt | sortiraj -k5

Da biste dobili rezultate u obrnutom redosledu, koristićete sljedeću naredbu:

ls -lt | sortiraj -k5 -r

Komanda sortiranja se takođe može koristiti zajedno sa ps komandom koja navodi procese koji se pokreću na vašem sistemu.

Na primer, pokrenite sledeću naredbu ps na vašem sistemu:

ps -eF

Gornja komanda vraća mnogo informacija o procesima koji se trenutno pokreću na vašem sistemu.

Jedna od ovih kolona je veličina i možda ćete želeti da vidite koji su procesi najveći.

Da biste sortirali ove podatke po veličini, koristili biste sljedeću naredbu:

ps-eF | sortiraj -k5

Sažetak

Nema komande za naredbu sortiranja, ali može vrlo brzo postati korisna kada se izlaz iz drugih komandi sortira u značajan red, naročito kada komanda nema svoje raspoložive prekidače za sortiranje.

Za više informacija pročitajte stranice priručnika za komandu sortiranja.