ú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é:
- Partick
- Kilmarnock
- hamilton
- Dundee United
- Motherwell
- Dundee
- Inverness
- Ross County
- St Johnstone
- Hearts
- Aberdeen
- keltský
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:
- oprávnenie
- počet uzlov
- užívateľské meno
- názov skupiny
- veľkosť
- dátum posledného prístupu
- názov súboru
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.