Ako zoradiť dáta v súbore pomocou Linux

úvod

V tejto príručke vám ukážem, ako triediť dáta vo vyhradených súboroch az výstupov iných príkazov.

Nebudete prekvapení, že príkaz, ktorý použijete na vykonanie tejto úlohy, sa nazýva "triedenie". Všetky dôležité prepínače príkazu triedenia budú uvedené v tomto článku.

Vzorové dáta

Údaje v súbore môžu byť roztriedené, pokiaľ sú nejakým spôsobom vymedzené.

Napríklad, vezmime poslednú ligovú tabuľku zo škótskej Premier League v minulom roku a uložte dáta do súboru s názvom "spl".

Dátový súbor môžete vytvoriť nasledovne s jedným klubom a údaje pre tento klub oddelené čiarkami na každom riadku.

tím Ciele zahodené Ciele proti body
keltský 93 31 86
Aberdeen 62 48 71
Hearts 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

Ako zoradiť dáta v súboroch

Z tejto tabuľky vidíte, že Kelt vyhral ligu a posledná Dundee United. Ak ste fanúšikom Dundee United, možno budete chcieť, aby ste sa cítili lepšie a mohli by ste to dosiahnuť triedením na dosiahnuté skóre.

Ak to chcete urobiť, spustite nasledujúci príkaz:

sort -k2 -t, spl

Tentoraz by bolo poradie nasledovné:

Dôvodom, prečo sú výsledky v tomto poradí, je to, že stĺpec 2 je stĺpec gólov strelených a typ prechádza z najnižších na najvyšší.

Prepínač -k vám umožňuje vybrať stĺpec, ktorý chcete zoradiť a prepínač -t vám umožní vybrať oddeľovač.

Ak chcete byť naozaj šťastní, fanúšikovia Dundee United môžu zoradiť podľa stĺpca 4 pomocou nasledujúceho príkazu:

sort -k4 -t, spl

Teraz sú Dundee United špičkové a keltské sú v spodnej časti.

Samozrejme, to by spôsobilo, že fanúšikovia z Keltu a Dundee budú naozaj veľmi nešťastní. Ak chcete správne nastaviť veci, môžete ich triediť v opačnom poradí pomocou nasledujúceho prepínača:

sort -k4 -t, -r spl

Pomerne bizarný prepínač vám umožňuje náhodne zoradiť, čo naozaj len prebodňuje riadky dát.

Môžete to urobiť pomocou nasledujúceho príkazu:

sort -k4 -t, -R spl

To môže spôsobiť skutočné problémy, ak zmiešate prepínač -r a -R.

Príkaz na triedenie môže tiež zoradiť dátumy do mesiaca. Preukážte nasledujúcu tabuľku:

mesiac Použité údaje
január 4G
február 3000K
marec 6000K
apríl 100M
Smieť 5000M
jún 200K
júl 4000K
august 2500K
septembra 3000K
október 1000K
november 3G
December 2G

Uvedená tabuľka predstavuje mesiac v roku a množstvo údajov použitých na mobilnom zariadení.

Dátumy môžete zoradiť abecedne pomocou nasledujúceho príkazu:

sort -k1 -t, datausedlistlist

Môžete tiež triediť podľa mesiaca pomocou nasledujúceho príkazu:

triediť -k1 -t, -M datusedlistlist

Teraz je samozrejme uvedená tabuľka už zobrazená v mesačnom poradí, ale ak by bol zoznam náhodne obývaný, potom by to bol jednoduchý spôsob ich triedenia.

Pri pohľade na druhý stĺpec môžete vidieť, že všetky hodnoty sú v ľudskom čitateľnom formáte, ktorý nevyzerá, že by bolo ľahké triediť, ale príkaz triedenia môže zoradiť použitý údajový stĺpec pomocou nasledujúceho príkazu:

sort -k2 -t, -h datausedlistlist

Ako zoradiť údaje prechádzajúce z iných príkazov

Zatiaľ čo triedenie dát v súboroch je užitočné, príkaz triedenia môže byť tiež použitý na triedenie výstupu z iných príkazov:

Pozrite sa napríklad na príkaz ls :

ls -lt

Vyššie uvedený príkaz vracia každý súbor ako riadok údajov s nasledujúcimi poliami zobrazenými v stĺpcoch:

Môžete triediť zoznam podľa veľkosti súboru spustením nasledujúceho príkazu:

ls -lt | sort -k5

Ak chcete získať výsledky v opačnom poradí, použite nasledujúci príkaz:

ls -lt | sort -k5 -r

Príkaz na triedenie možno použiť aj v spojení s príkazom ps, ktorý uvádza procesy bežiace vo vašom systéme.

Napríklad spustite nasledujúci príkaz ps v systéme:

ps -eF

Vyššie uvedený príkaz vráti veľa informácií o procesoch, ktoré v súčasnosti beží vo vašom systéme.

Jeden z týchto stĺpcov je veľkosť a možno budete chcieť zistiť, ktoré procesy sú najväčšie.

Ak chcete tieto údaje zoradiť podľa veľkosti, použite nasledujúci príkaz:

ps -eF | sort -k5

zhrnutie

Nie je príliš veľký príkaz na triedenie, ale môže sa stať veľmi užitočným pri triedení výstupu z iných príkazov do zmysluplného poradia, najmä ak príkaz nemá vlastné prepínače triedenia.

Ďalšie informácie si prečítajte na manuálových stránkach príkazu sort.