8. 9. 2016

Shell - nástroje linuxového príkazového riadka

Tu som si zozbieral poznámky k pár príkazom používaným z príkazového riadka v linuxe. Ide o head, tail sort, uniq, wc, tr, grep, a awk utilitky.
Ich výstup možno reťaziť cez pipe a dosiahnuť tak napríklad abecedne zoradené neduplicitné slová z 5teho stĺpca súboru.


# head [- riadky] <súbor>
zobrazí prvých n riadkov zo súboru, predvolené 10

# tail [- riadky] <súbor>
zobrazí posledných n riadkov zo súboru, predvolené 10,
-f neustále čaká a vypisuje novo pridané riadky, napr pre čítanie logu

# sort [-n] <súbor>
zotriedi riadky abecedne
-n pre zoradenie podľa čísel, nie abecedne
-r opačné zoradenie
-k stĺpec ktorý použiť pre zoraďovanie

# uniq [-c] [-d]
vypíše len jedinečné záznamy, ak teda idú dva rovnaké po sebe, druhý nevypíše
-c vypíše aj počet duplicitných záznamov
-d vypíše len duplicitné záznamy
-u vypíše len neopakujúce sa záznamy

# wc [-c] [-m] [-l] [-L] <súbor>
vypíše počet riadkov, slov, alebo znakov v súbore
-c vypíše počet bytov v súbore
-m vypíše počet znakov v súbore
-l vypíše počet zadaných entrov - počet riadkov súboru
-L vypíše dĺžku najdlhšieho riadku v súbore

# tr [-d] [-s] old_znak [nový_znak]
nahradí alebo zmaže znaky
-d mažem old_znak, nepotrebuje zadávať nový znak
-s nahradenie 0 až N znakov novým znakom, na výstupe teda bude vždy len jeden znak namiesto originálneho znaku
 [nový_znak] ak nahrázam, tak sa old znak sa nahradí týmto

# grep [-v] [-b] [-m 10] <vzor> <súbor>
horizontálna filtrácia textu, na výstup vypíše riadky, ktoré obsahujú <vzor>
-v negácia: vypíše riadky, ktoré neobsahujú vzor
-b vypíše, kde na ktorom znaku od začiatku súboru našiel
-m 10 obmedzenie maximálneho množstva vyhľadávania, 10 výskytov vzora

# awk [-F] '{ print $x }' <súbor>
aj (nielen) vertikálna filtrácia textu, na výstup vypíše vybrané stĺpce
-F field separator: čo je oddeľovač pre sĺpce

Linka pre programovanie KSH skriptov: http://www.well.ox.ac.uk/~johnb/comp/unix/ksh.html

Žiadne komentáre:

Zverejnenie komentára